2015-05-08 3 views
0

Я ищу элемент в LinkedList, вывод правилен, когда элемент действительно находится в списке. Однако, проверяя противоположный случай, при поиске Null или элемента, не входящего в список, происходит NPE. Пожалуйста, помогите, спасибо!NPE при поиске элемента в LinkedList

public boolean find(E e){ 
    Node current=head; 
    while(current.item !=null){ 
     if(e.equals(current.item)){ 
      System.out.println("True"); 
      return true; 
     } 
     current=current.next; 
    } 
    System.out.println("False"); 
    return false; 
} 
+0

0.02 => рассмотреть возможность использования 'System.out.println (yourList.find (e));' вместо того, чтобы распечатывать метод. – ChiefTwoPencils

ответ

2

while заявление должно быть while(current !=null)

+0

Спасибо, просто отредактирован! – Robert

+0

@Robert рад помочь :) – locoyou

1

Может быть, вы должны изменить состояние в то время как петля:

public boolean find(E e){ 
    Node current=head; 
    while(current != null){ 
     if((current.item != null) && (e.equals(current.item)){ 
      System.out.println("True"); 
      return true; 
     } 
     current=current.next; 
    } 
    System.out.println("False"); 
    return false; 
} 

Также проверьте, если элемент в узле не null.

+0

отличные подсказки спасибо! – Robert

Смежные вопросы