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.