2015-08-12 2 views
-1

Я проверяю, чтобы увидеть, если объект является пустым, прежде чем использовать его как этотJava Исключение нулевого указателя

if (resturant.getLat() != null) 
    //do stuff 

Но он бросает java.lang.NullPointerException, как я могу проверить, что restaurant.getLat() не равно нулю?

Благодаря

ответ

4

Вам нужно написать if (restaurant != null && restaurant.getLat() != null)

Это потому, что restaurant сама может быть null.

If операторы в Java оцениваются слева направо && является короткозамкнутым; что когда значение выражения известно, оценка прекращается. Так что я написал это идиоматично.

+1

* «Если инструкции в Java оцениваются слева направо и являются короткозамкнутыми» * Не верно. Вы можете написать 'if', который не замыкается:' if (restaurant! = Null & restaurant.getLat()! = Null) '. Это операторы '&&' и '' '' 'короткое замыкание, а не' if'. – m0skit0

+0

@ m0skit0: Хорошо, я должен быть более осторожным. Мы будем публиковать совместно. Изменили. – Bathsheba

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