Оценка короткого замыкания Java
Я думал, что в Java была оценка короткого замыкания, но эта строка все еще выдает исключение нулевого указателя:
if( (perfectAgent != null) && (perfectAgent.getAddress().equals(entry.getKey())) ) {
В этом случаеperfectAgent
являетсяnull
так что я просто хочу, чтобы все выражение вернулосьfalse
, но мое приложение все еще падает в этой строке с исключением NullPointerException.
РЕДАКТИРОВАТЬ, общий ответ:
посколькуperfectAgent
являетсяnull
, ничего справа от&&
должно быть выполнено, так как выражение не может быть истинным. Более того, невозможно выполнитьperfectAgent.getAddress()
посколькуperfectAgent
не содержит действительной ссылки (это ноль и все). Я'Я пытаюсь использовать оценку короткого замыкания, чтобы не проверять нулевое значение в отдельном операторе, поскольку это делает логику более небрежной.
РЕДАКТИРОВАТЬ 2 (или, яя идиот): да, как и во многих вещах в жизни, вы выясняете ответ сразу после объявления миру, что вы 'ты дебил. В этом случае я выключил «Затмение»s автоматическая сборка во время выполнения чего-то другого, но не включенная, поэтому я отлаживал файлы классов, которые нене совпадают с моим источником.