對於對象引用的工作方式,我很困惑。在下面的例子中,在循環結束時,Will result
指向myList.get(9)
或myList.get(3)
?對象分配操作如何工作
Class MyClass{
...
}
public static MyClass myUtilityMethod(){
List<MyClass> myList = new ArrayList<MyClass>(10);
//initialize the list
....
////////////
MyClass tmp = null;
MyClass result = null;
for(int i =0; i < 10; i++){
temp = myList.get(i);
if(i == 3) result = temp;
}
return result;
}
由於result
點temp
,並在每個循環迭代temp
變化,是否意味着result
也將改變基於這樣temp
指向?
'result'不指向'temp' 。它指向的是分配完成時'temp'指向的對象。 – 2014-10-03 12:37:13
@ColonelThirtyTwo所以'result'會在最後指向'myList.get(3)'? – faizal 2014-10-03 12:38:51