¿Cómo verificar el tipo de objeto (instanceof) en Kotlin? Análogo de Java instanceof
¡Hola! Acabo de empezar a aprender Kotlin después de Java y me encontré con un problema. En Java usaba constantemente el operador instanceof para verificar si un objeto es una instancia de una clase determinada. Por ejemplo:
// Java
if (obj instanceof String) {
String str = (String) obj;
System.out.println(str.length());
}
Pero en Kotlin no puedo encontrar un análogo directo. Intenté escribir obj instanceof String, pero el compilador da un error. Probé usar is — parece que funcionó, pero no estoy seguro de si es correcto.
Esto es lo que escribí:
fun checkType(obj: Any) {
// Intento verificar el tipo
if (obj is String) {
// Quiero llamar al método length()
println(obj.length)
}
}
Este código se compiló y funciona. Pero tengo varias preguntas:
- ¿Estoy usando correctamente
isen lugar deinstanceof? - ¿Es necesario después de