Como verificar o tipo de um objeto (instanceof) em Kotlin? Análogo ao Java instanceof
Olá! Comecei a estudar Kotlin depois de Java e me deparei com um problema. Em Java, eu usava constantemente o operador instanceof para verificar se um objeto é uma instância de uma determinada classe. Por exemplo:
// Java
if (obj instanceof String) {
String str = (String) obj;
System.out.println(str.length());
}
Mas em Kotlin não consigo encontrar um análogo direto. Tentei escrever obj instanceof String, mas o compilador dá erro. Tentei usar is — parece que funcionou, mas não tenho certeza se está correto.
Aqui está o que escrevi:
fun checkType(obj: Any) {
// Tentando verificar o tipo
if (obj is String) {
// Quero chamar o método length()
println(obj.length)
}
}
Este código compilou e funciona. Mas tenho algumas perguntas:
- Estou usando
iscorretamente em vez deinstanceof? - Preciso fazer algo depois