not getclass java instanceof

getclass - isinstance java



Java-null instanceof Object se evalĂșa como verdadero y falso (3)

Cuando compilo y ejecuto este código:

public class Testing { public static void main(String... args) { Object obj = null; if (obj instanceof Object) { System.out.println("returned true"); } else { System.out.println("returned false"); } System.out.println(" " + obj instanceof Object); } }

Obtengo esto en la línea de comando:

C:/Users/xxxxxx/Desktop>java Testing returned false true

¿No debería "null instanceof someType" siempre devolver false?


En el último System.out.println , " " + obj evalúa primero y el resultado, que es una String se comprueba para la instanceof Object y se imprime el resultado.


Esta:

" " + obj instanceof Object

se evalúa como:

(" " + obj ) instanceof Object

y " " + obj es de hecho una cadena no nula que es una instancia de Object .