El Truco del instanceof con Genéricos
Dificultad: Medio Java intermediate coding
List<String> lista = new ArrayList<>();
lista.add("Java");
boolean x = lista instanceof ArrayList;
boolean y = lista instanceof List<String>;
System.out.println(x + " " + y); 📥 Inputs:
lista = ["Java"]
❓ ¿Cuál es el output?
Ingresa tu respuesta abajo
💡 Explicación
En Java, instanceof funciona con genéricos de forma curiosa: 'instanceof ArrayList' verifica la clase concreta (true), pero 'instanceof List<String>' ignora el tipo genérico por 'type erasure' - solo verifica si es List (true). Los genéricos desaparecen en tiempo de ejecución, por eso ambos son true. ¡No puedes verificar tipos genéricos con instanceof!
¿Cuál es el valor de x e y? 🤔