Junior — Middle
Em que se diferenciam os tipos Object em Java e Any em Kotlin em termos de propósito e uso?
sobes.tech IA
Resposta da IA
Em Java, o tipo Object é a classe base para todas as classes, da qual todos os objetos herdam. É usado para representar qualquer objeto, mas não pode conter tipos primitivos diretamente.
Em Kotlin, o tipo Any é o equivalente a Object, a classe base para todas as classes, mas ao contrário do Java, Kotlin separa Any e Any? (nullable). Any não pode conter null, mas Any? pode. Além disso, Kotlin tem tipos separados para primitivos, mas eles são automaticamente convertidos em objetos quando necessário.
Exemplo:
fun printAny(value: Any) {
println(value.toString())
}
printAny(123) // Int é convertido automaticamente em Any
printAny("texto") // String, que herda de Any
Assim, Object em Java é uma classe, e Any em Kotlin é um tipo base que não permite null, o que aumenta a segurança de tipos.