List<String> list = new ArrayList<String>();
String string = null;
string = "123";
list.add(string);
string = "456";
list.add(string);
for (String s : list)
{
System.out.println(s);
}
该程序输出:
123
456
这是很自然的。
然而,我正在以另一种方式思考。“string”是实际 String 对象的引用(指针)。执行 add() 时,它只存储引用。当“字符串”引用另一个字符串对象时,为什么列表仍然保留原始对象?它会在 add() 之前进行复制吗?