看一下代码
ArrayList<String> arrayList = new ArrayList<String>();
String temp = null;
for(int i = 0; i < 10; i ++;)
{
temp = i + "' ;
arrayList.add(temp);
}
输出arrayList中的各个元素,你会发现都是9,为什么呢?
检查半天发现arrayList中存的只是一个,上述代码不断的向arrayList中加入temp这个变量,
但是事实上temp的
内存只有一个,arrayList的所有元素都指向这个内存的地址
所以在最后一次temp改变之后,因为arrayList中的所有元素都指向这个内存地址,所以输出发现arrayList中的元素都为9
改成这样就能成功了:
ArrayList<String> arrayList = new ArrayList<String>();
for(int i = 0; i < 10; i ++;)
{
String temp = i + "' ;
arrayList.add(temp);
}