Back to questions
Junior — Middle
69
Какие отличия в системе типов есть между Java и Kotlin?
Answer from AI
sobes.tech AI
Java — язык со статической типизацией, где примитивные типы (int, boolean и т.д.) и ссылочные типы чётко разделены. В Kotlin типы более унифицированы: все являются объектами, включая аналоги примитивов, благодаря системе обёрток, которая оптимизируется компилятором.
Основные отличия:
- Null-безопасность: В Kotlin типы по умолчанию не могут содержать null, чтобы избежать NullPointerException. Для nullable типов используется синтаксис с вопросительным знаком, например,
String?. - Типы-параметры: Kotlin поддерживает более гибкую систему обобщений с variance (in, out), в Java это реализовано через wildcards.
- Типы данных: Kotlin имеет расширенные типы, например,
Unitвместоvoid, и поддерживает расширения типов.
Пример null-безопасности в Kotlin:
var a: String = "Hello"
// a = null // Ошибка компиляции
var b: String? = "Hello"
b = null // Допустимо