Я смущен тем, как работают ссылки на объекты. В приведенном ниже примере, в конце цикла, 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», когда было выполнено задание. –
@ColonelThirtyTwo так 'result' будет указывать на' myList.get (3) 'в конце? – faizal