2014-11-18 3 views
0

LinkedList에서 일반적으로 마지막 노드에 null 값을 할당하고이 조건을 사용하여 마지막 노드를 확인합니다.연결된 목록 NullPointerException Java

동일한 조건의 마지막 노드가 "다음"노드 링크가 null인지 아닌지 확인하고 있습니다. 하지만 "getNext"메서드에 의해 null 값을 얻으면 NullPointerException을 처리 할 수 ​​없습니다. 당신이 루프를 입력 할 때 lastNode 이미 null있는 NullPointerException 경우

while(lastNode.getNext() != null) 
{ 
lastNode= lastNode.getNext(); 
} 
+0

이 코드가 NullPointerException을 던지고 있습니까? –

+1

getNext()에 대한 코드를 붙여 넣을 수 있습니까? – elefont

+0

@elephont'public 노드와 같은 것 getNext() {다음 반환; }'- 그게 무슨 문제가 아니에요. –

답변

4

이 발생합니다. 그것에 대한 점검을 추가하면 제대로 작동합니다.

while(lastNode != null && lastNode.getNext() != null){ 
    lastNode = lastNode.getNext(); 
} 
1

이것은 LinkedList의 맞춤 구현이라고 가정합니다. java.util.LinkedList에는 getNext() 메서드가 없습니다. 말했다

, 당신이 원하는 :

while (current != null) { 
    past = current; 
    current = current.getNext(); 
} 

return past; 

난 당신이 마지막 노드를 반환 할 것을 여기에 가정 및 past이 오전 current와 동일한 유형의 변수입니다.