在实际应用场景中,可以需要在一个List中添加多个对象,在使用的时候有个误区就是将一个对象添加多次到List中,导致数据不一致。
测试代码:
public class test {
public static void main(String[] args) {
List<CreditLoanXMLInfo> list = new ArrayList();
CreditLoanXMLInfo creditLoanXMLInfo = new CreditLoanXMLInfo();
for (int i = 0; i < 3; i++) {
creditLoanXMLInfo.setAttrvalue(i + "");
list.add(creditLoanXMLInfo);
}
System.out.println(list.size());
for (CreditLoanXMLInfo a :list){
System.out.println(a.getAttrvalue());
}
}
}
结果输出
3
2
2
2
可以看到,代码中我们想要保存0,1,2的值
实际上list保存的是同个对象,这个对象保存的是最后一次设置的那个值2,不是想要的结果,所以不能这样使用。