Java ArrayList操作一点需要注意的地方

2014-11-24 07:48:33 · 作者: · 浏览: 1

看一下代码

ArrayList arrayList = new ArrayList();

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 arrayList = new ArrayList();


for(int i = 0; i < 10; i ++;)

{

String temp = i + "' ;

arrayList.add(temp);

}



摘自 rushkid02的专栏