Junior — Middle
Millised on erinevused Java ja Kotlin tüübisüsteemides?
sobes.tech AI
Vastus AI-lt
Java on statilise tüübitamise keel, kus primitiivsed tüübid (int, boolean jne) ja viidetüübid on selgelt eraldatud. Kotlinis on tüübid rohkem ühtlustatud: kõik on objektid, sealhulgas primitiivide analoogid, tänu kompilaatori optimeeritud kesta süsteemile.
Peamised erinevused:
- Null-turvalisus: Kotlinis ei saa tüübid vaikimisi sisaldada nulli, et vältida NullPointerException-i. Nullable tüübid märgitakse küsimärgi sümboliga, näiteks
String?. - Üldtüübid: Kotlin toetab paindlikumat üldtüüpide süsteemi variatsiooniga (in, out), mida Java rakendab wildcards-idega.
- Andmetüübid: Kotlinil on laiendatud tüübid, näiteks
Unitasemelvoid, ning toetab tüüpide laiendamist.
Null-turvalisuse näide Kotlinis:
var a: String = "Hello"
// a = null // Kompilatsiooniviga
var b: String? = "Hello"
b = null // Lubatud