标题: 求帮助,代码的的结果怎么是这样 [打印本页] 作者: 人心如水 时间: 2014-7-13 13:38 标题: 求帮助,代码的的结果怎么是这样 import java.util.ArrayList;
class Data {
int val;
}
public class Test {
public static void main(String args[]) {
Data data = new Data();
ArrayList<Data> list = new ArrayList<Data>();
for (int i = 100; i < 103; i++) {
data.val = i;
list.add(data);
}
for (Data d : list) {
System.out.println(d.val);
}
}
}作者: SLJ_920808 时间: 2014-7-13 13:40
结果是怎样?作者: 215041631 时间: 2014-7-13 14:09
因为你只有一个对象data, 你的容器里面存储的全是这一个对象的引用,你可以看成你一改变VAL就改变了所有VAL的值。作者: 215041631 时间: 2014-7-13 14:13