Sobes.tech
Junior — Middle

Čime se razlikuju tipovi Object u Javi i Any u Kotlinu u pogledu njihove namene i upotrebe?

sobes.tech АИ

Одговор од АИ

U Javi, tip Object je osnovna klasa za sve klase, od koje nasledjuju svi objekti. Koristi se za predstavljanje bilo kog objekta, ali ne može direktno sadržavati primitivne tipove.

U Kotlinu, tip Any je ekvivalent Object, osnovni tip za sve klase, ali za razliku od Jave, Kotlin razdvaja Any i Any? (nullable). Any ne može sadržavati null, ali Any? može. Pored toga, Kotlin ima odvojene tipove za primitivne, koji se automatski konvertuju u objekte po potrebi.

Primer:

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

printAny(123)       // Int se automatski konvertuje u Any
printAny("tekst") // String, naslednik od Any

Dakle, Object u Javi je klasa, a Any u Kotlinu je osnovni tip koji ne dozvoljava null, što povećava sigurnost tipova.