Какая разница хранения ссылок в Java и Koltin

«Какая разница хранения ссылок в Java и Koltin» — вопрос из категории Управление памятью, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Java ссылки могут быть null, что часто приводит к NullPointerException. В Kotlin ссылки по умолчанию non-nullable (String), но можно явно указать nullable (String?). Kotlin обеспечивает безопасность на этапе компиляции.

Пример:

// Kotlin
val nonNullable: String = "text"  // Не может быть null
val nullable: String? = null      // Может быть null

В Java:

// Java
String nullable = null;  // Всегда может быть null

Kotlin требует явной проверки (?., !!, ?:) для работы с nullable-типами, что уменьшает ошибки.