Evaluación de corto circuito en Java

Pensé que Java tenía una evaluación de cortocircuito, pero esta línea todavía está lanzando una excepción de puntero nulo:

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

En este casoperfectAgent esnull, así que solo quiero que toda la expresión regresefalse, pero mi aplicación aún falla en esta línea con una NullPointerException.

EDITAR, respuesta general:

Ya queperfectAgent esnull, nada a la derecha de la&& debe ejecutarse, ya que es imposible que la expresión sea verdadera. Más al punto, es imposible de ejecutarperfectAgent.getAddress() ya queperfectAgent no contiene una referencia válida (siendo nulo y todo). Estoy tratando de usar la evaluación de cortocircuitos para no tener que buscar nulos en una declaración por separado, ya que eso hace que la lógica sea más descuidada.

EDIT 2 (o, soy un idiota): Sí, como muchas cosas en la vida, descubres la respuesta justo después de anunciar al mundo que eres un imbécil. En este caso, había desactivado la autoedición de Eclipse mientras hacía otra cosa y no lo había vuelto a encender, así que estaba depurando archivos de clase que no coincidían con mi fuente.

Respuestas a la pregunta(7)

Su respuesta a la pregunta