1
여기에 질문이 있습니다. 지금은 마법을 수행참조 또는 값으로 연결된 목록?
ListNode newHead = head;
newHead = head.next.next;
//Now newHead is pointing to (3) in the linked list.
:
1 -> 2 -> 3 -> 4
내가 그런 짓을 :
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
링크 된 목록을 고려 : (자바) 다음과 같이 연결리스트가 구현되는 말
을newHead.val = 87
linke D리스트가된다 :
1 -> 2 -> 87 -> 4
내가 머리 및 newHead하지를 인쇄합니다.
왜 이런가요? 나는 머리를 가진 무엇이든을 변경하지 않으며 그러나 아직도 변화했다?
분명히, 그것은 당신이 같은 물건을 바꾸고 있기 때문입니다. ListNode에는 각 ListNode에 대한 참조 만 있습니다. –
@MatthiasFax, 내가 수업을 만들고 나서 이렇게하면 언제나 좋아할까요? – sssszzzzzzssszzz
예, 객체를 복제하거나 완전 복사하지 않으면 프리미티브를 제외하고 값에 대한 참조 만 있습니다. 기존 질문을 확인하십시오. http://stackoverflow.com/questions/40480/is-java-pass-by-reference-or-pass-by-value http://stackoverflow.com/questions/4600974/passing-primitive -data-by-reference-in-java –