我知道对象是通过值传递的,但是引用的值。引用在Java中如何工作?
所以说,我有一个类:
//Definition for singly-linked list.
public class ListNode {
int val;
ListNode next;
ListNode(int x) { val = x; }
}
我做这样的事情:
ListNode n = new ListNode(3);
ListNode n1 = new ListNode(4);
n.next = n1;
所以现在我有一个链表:
n -> n1 -> null
现在我做一些假设如:
/* Previous code from above
ListNode n = new ListNode(3);
ListNode n1 = new ListNode(4);
n.next = n1; */
ListNode ref = n;
n = n.next;
ref指向现在?
“我知道对象通过引用传递。”不,他们不是。请参阅https://stackoverflow.com/questions/40480 –
'ref'指向当时赋值时'n'参考的引用。所以它是“原始”的'n'。 –
由于'n'指的是自身,因此ref会指向'n' –