Sobes.tech
Junior — Middle

Jaké jsou rozdíly v systému typů mezi Java a Kotlin?

sobes.tech AI

Odpověď od AI

Java je jazyk s pevným typováním, kde jsou primitivní typy (int, boolean atd.) a referenční typy jasně odděleny. V Kotlinu jsou typy více sjednocené: všechny jsou objekty, včetně analogů primitivních typů, díky systému obalovačů, který je optimalizován kompilátorem.

Hlavní rozdíly:

  • Null-bezpečnost: V Kotlinu typy ve výchozím nastavení nemohou obsahovat null, aby se předešlo NullPointerException. Pro nullable typy se používá syntaxe s otazníkem, například String?.
  • Generické typy: Kotlin podporuje flexibilnější systém generik s variancí (in, out), v Javě je to realizováno pomocí wildcardů.
  • Datové typy: Kotlin má rozšířené typy, například Unit místo void, a podporuje rozšíření typů.

Příklad null-bezpečnosti v Kotlinu:

var a: String = "Hello"
// a = null // Chyba při kompilaci

var b: String? = "Hello"
b = null // Povolené