Avatar ·

¿Es necesaria una verificación de null antes de instanceof en Java?

¡Hola, colegas! Soy un desarrollador Java principiante y me encontré con una pregunta que me preocupa. Supongamos que tengo una variable que puede ser null y quiero verificar su tipo con instanceof. ¿Es necesario verificar explícitamente que la variable no sea null antes de esto? Aquí hay un ejemplo de código que suelo escribir: ```java Object obj = getSomeObject(); // puede devolver null if (obj != null) { if (obj instanceof String) { String str = (String) obj; System.out.println(str.length()); } } ``` Pero recientemente me dijeron que instanceof es seguro por sí mismo y devuelve false para null. Es decir, se puede escribir así: ```java if (obj instanceof String) { String str = (String) obj; System.out.println(str.length()); } ``` Lo probé — efectivamente, no se produce una excepción NullPointerException. Pero aún tengo dudas: ¿tal vez esto solo funciona en casos específicos? ¿Puede haber trampas? Por ejemplo, si obj es null, entonces instanc