Sobes.tech
Junior — Middle

Hoe verschillen de Object-typen in Java en Any in Kotlin qua doel en gebruik?

sobes.tech AI

Antwoord van AI

In Java is het type Object de basisklasse voor alle klassen, waaruit alle objecten erven. Het wordt gebruikt om elk object voor te stellen, maar kan primitieve types niet direct bevatten.

In Kotlin is het type Any gelijk aan Object, de basisklasse voor alle klassen, maar in tegenstelling tot Java scheidt Kotlin tussen Any en Any? (nullable). Any kan geen null bevatten, maar Any? wel. Bovendien heeft Kotlin aparte types voor primitieve types, die indien nodig automatisch worden omgezet in objecten.

Voorbeeld:

fun printAny(value: Any) {
    println(value.toString())
}

printAny(123)       // Int wordt automatisch omgezet in Any
printAny("tekst") // String, dat een afgeleide is van Any

Dus, Object in Java is een klasse, en Any in Kotlin is een basistype dat null niet toestaat, wat de typeveiligheid verhoogt.