分析运行结果,说明原理。(没有分析结果不得分)
Data data = new Data(); //创建data对象
ArrayList<Data> list = new ArrayList<Data>(); //创建list集合
for (int i = 100; i < 103; i++) {
data.val = i; //给data赋值
list.add(data); //写入的是对象的地址值,三次写入的是同一个对象同一个值
}
for (Data d : list) {
System.out.println(d.val); //最后一次赋值时102,所以三次打印的结果都是102;
}
}
}
class Data {
int val;
}
|
|