首先看以下代码:
List<String> list;
List<String> mList = new ArrayList<String>();
list = mList;
mList.add("aaa");
list.add("bbb");
System.out.println(mList);
打印出来的mList 发现“bbb”也添加进去了,但是我们觉得奇怪,list才添加了“bbb”,为什么mList的值会改变呢?
个人认为list = mList; 可以看做是c语言中的指针,list指向了mList,list和mList的保存了同一个地址,而 用 new 来创建的对象
指向的地址是不同的