Java ArrayList操作一点需要注意的地方
3124 点击·0 回帖
![]() | ![]() | |
![]() | 看一下代码 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); } | |
![]() | ![]() |