public class IntList {
private IntNode _head;
public IntList() {
_head = null;
}
}
我創建了一個名爲IntList的類。 IntList包含一個搜索具有指定int值的IntNode對象的方法。這是方法:將一個變量分配給另一個變量後,爲什麼更改一個變量不會改變另一個?
public boolean findElementInList(int value) {
IntNode currentNode = this._head;
while (currentNode.getValue() != value &&
currentNode.getNext() != null) {
currentNode = currentNode.getNext();
}
return (currentNode.getValue() == value);
}
的方法完成後,原_head
實例變量是完整的 - 但爲什麼呢? currentNode
指向方法中的_head
(混疊),並且對currentNode
所做的每個更改也應反映在_head
(每次運行currentNode = currentNode.getNext();
時)。
這是getNext()
代碼:
public IntNode getNext() {return _next;}
currentNode是頭的另一個引用,並且您通過調用_head.getNext()將該引用更改爲列表中的下一個元素,除非getNext()以某種方式修改頭,否則頭不會更改 – SomeDude
getNext() '回來?請包括'IntNode'的代碼。 – activedecay