2015-03-23 4 views
1

Я пытаюсь проверить, является ли свойство нулевым, но я получаю исключение нулевого указателя. Каков правильный способ сделать это?, как проверить, является ли свойство объекта нулевым

private void recursePrintList(myNode head) 
{ 
    if(head.next == null) //NullPointerException on this line 
    { 
     System.out.println(head.value); 
    } 
    else 
    { 
     System.out.println(head.value); 
     recursePrintList(head.next); 
    } 
} 
+0

Если 'head' имеет нулевое значение, то' head.next' выбросит 'NullPointerException' – Powerlord

+2

возможный дубликат [Что такое исключение нулевого указателя, и как я могу это исправить?] (HTTP: // stackoverflow.com/questions/218384/what-is-a-null-pointer-exception-and-how-do-i-fix-it) – fabian

ответ

5

Вы должны проверить, если head является нулем в начале вашего метода. Кроме того, вы можете дополнительно упростить рекурсивную печать:

private void recursePrintList(myNode head) { 
    if (head != null) { 
     System.out.println(head.value); 
     recursePrintList(head.next); 
    } 
} 
0

Вы должны проверить значение головы, как если нуль не равен голове, после чего делать операции.

ivate void recursePrintList(myNode head) { if (null != head) { System.out.println(head.value); recursePrintList(head.next); } } 
Смежные вопросы