Avaliação de curto-circuito em Java

Eu pensei que Java teve avaliação de curto-circuito, mas esta linha ainda está lançando uma exceção de ponteiro nulo:

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

Nesse casoperfectAgent énull, então eu só quero que toda a expressão retornefalse, mas meu aplicativo ainda está travando nesta linha com um NullPointerException.

EDIT, resposta geral:

Desde aperfectAgent énull, nada à direita do&& deve ser executado, pois é impossível que a expressão seja verdadeira. Mais ao ponto, é impossível executarperfectAgent.getAddress() Desde aperfectAgent não contém uma referência válida (sendo nulo e tudo). Eu estou tentando usar avaliação de curto-circuito para não ter que verificar nulo em uma instrução separada, pois isso torna a lógica mais desleixada.

EDIT 2 (ou, eu sou um idiota): Sim, como muitas coisas na vida, você descobre a resposta logo após anunciar ao mundo que você é um idiota. Nesse caso, eu desliguei o autobuild do Eclipse enquanto fazia outra coisa e não o reativava, então estava depurando arquivos de classe que não correspondiam à minha fonte.

questionAnswers(7)

yourAnswerToTheQuestion