Junior — Middle
In che cosa si differenziano i tipi Object in Java e Any in Kotlin in termini di scopo e utilizzo?
sobes.tech AI
Risposta dell'AI
In Java, il tipo Object è la classe base per tutte le classi, da cui ereditano tutti gli oggetti. Viene usato per rappresentare qualsiasi oggetto, ma non può contenere tipi primitivi direttamente.
In Kotlin, il tipo Any è equivalente a Object, la classe base per tutte le classi, ma a differenza di Java, Kotlin distingue tra Any e Any? (nullable). Any non può contenere null, mentre Any? può. Inoltre, Kotlin ha tipi separati per i primitivi, che vengono convertiti automaticamente in oggetti se necessario.
Esempio:
fun printAny(value: Any) {
println(value.toString())
}
printAny(123) // Int viene automaticamente convertito in Any
printAny("test") // String, che eredita da Any
Pertanto, Object in Java è una classe, mentre Any in Kotlin è un tipo di base che non permette null, aumentando la sicurezza dei tipi.