gpt4 book ai didi

java - 为什么在这种情况下数据没有被设置到列表对象中?

转载 作者:行者123 更新时间:2023-12-01 16:33:30 26 4
gpt4 key购买 nike

我将两个系列的数据(冒号分隔:)传递给一个方法,并期望将其设置在我的自定义类 CountryDTO 中

这是我的 CountryDTO 类(class)

public class CountryDTO {

public CountryDTO(String a , String b , String c)
{

}
public String value1;
public String value2;
public String value3;

// setters and getters

}



This is my Main class

public class Test {

public static void main(String args[]) throws Exception {

Test test = new Test();
List list = (List) test.extract("IND,US,UK : WI,PAK,AUS");

Iterator itr = list.iterator();

while (itr.hasNext()) {
CountryDTO ind = (CountryDTO) itr.next();
System.out.println(ind.getValue1());
}
}

public List<CountryDTO> extract(final String v) throws Exception {
String[] values = v.split(":");
List<CountryDTO> l = new ArrayList<CountryDTO>();
for (String s : values) {
String[] vs = s.split(",");
l.add(new CountryDTO(vs[0], vs[1], vs[2]));
}
return l;
}
}

发生的情况是,我得到的输出为 null(未设置 CountryDTO)

谁能帮帮我

最佳答案

抱歉,您的 DTO 不正确。我认为它应该是这样的:

public class CountryDTO {

private final String value1;
private final String value2;
private final String value3;

public CountryDTO(String a , String b , String c) {
this.value1 = ((a != null) ? a : "");
this.value2 = ((b != null) ? b : "");
this.value3 = ((c != null) ? c : "");
}

// just getters; no setters

}

我无法说出您的代码可能还做错了什么,但这肯定是错误的。

关于java - 为什么在这种情况下数据没有被设置到列表对象中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11932188/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com