Java Kurzschlussauswertung

Ich dachte, Java hätte eine Kurzschlussauswertung, aber diese Zeile löst immer noch eine Nullzeiger-Ausnahme aus:

if( (perfectAgent != null) && (perfectAgent.getAddress().equals(entry.getKey())) ) {

In diesem FallperfectAgent istnullIch möchte nur, dass der ganze Ausdruck zurückkommtfalse, aber meine App stürzt in dieser Zeile immer noch mit einer NullPointerException ab.

EDIT, allgemeine Antwort:

Schon seitperfectAgent istnull, nichts rechts von der&& sollte ausgeführt werden, da es unmöglich ist, dass der Ausdruck wahr ist. Genauer gesagt ist es unmöglich, auszuführenperfectAgent.getAddress() schon seitperfectAgent enthält keine gültige Referenz (sie ist null und alle). Ich versuche, die Kurzschlussauswertung zu verwenden, um nicht in einer separaten Anweisung auf Null prüfen zu müssen, da dies die Logik schlampiger macht.

EDIT 2 (oder, ich bin ein Idiot): Ja, wie bei vielen Dingen im Leben finden Sie die Antwort gleich, nachdem Sie der Welt mitgeteilt haben, dass Sie ein Idiot sind. In diesem Fall hatte ich die Autobuild-Funktion von Eclipse während einer anderen Aktion deaktiviert und nicht wieder aktiviert, sodass ich Klassendateien debuggte, die nicht mit meiner Quelle übereinstimmten.

Antworten auf die Frage(7)

Ihre Antwort auf die Frage