android学习笔记:java中的内存分配

今天犯了一个很低级的错误,当我想将一个ArrayList<String>的值赋给另外一个list,借此防止这个list改动而引起的listview adapter异常时,仅仅使用了:

ArrayList<String> list = new ArrayList<String>();

然后list = myList,之后测试时发现问题依然存在,myList一旦改变,list也跟着改变了。在java里面,这样简单的赋值是不会为新的list分配内存的,他们仍然使用着同一块数据,依然联系在一起。

正确的分配新内存方法暂时使用的这个:

for(int i = 0; i < myList.size(); i++){
list.add(hotWrodsList.get(i));
}

虽然笨的很,不过目的达到了。

你可能感兴趣的:(android学习笔记:java中的内存分配)