【发布时间】:2014-02-11 06:45:32
【问题描述】:
我正在为 Java 认证做准备,在这种情况下对对象引用感到困惑。 在这段代码中,我无法理解为什么当我们为它们分配一个新对象时,ArrayList 和数组的元素不会受到影响?
ArrayList<StringBuilder> myArrList = new ArrayList<StringBuilder>();
StringBuilder sb1 = new StringBuilder("Jan");
StringBuilder sb2 = new StringBuilder("Feb");
myArrList.add(sb1);
myArrList.add(sb2);
StringBuilder[] array = myArrList.toArray(new StringBuilder[2]);
for(StringBuilder val : array) {
System.out.println(val);
}
StringBuilder sb3 = new StringBuilder("NNN");
sb2 = sb3;
for(StringBuilder val : array) {
System.out.println(val);
}
for(StringBuilder val : myArrList) {
System.out.println(val);
}
输出:
Jan
Feb
Jan
Feb
Jan
Feb
如果您能提供简单的解释,我将不胜感激。谢谢。
【问题讨论】: