В чем разница между переменными в Java и Kotlin

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

Ответ

В Kotlin переменные объявляются с ключевыми словами val (неизменяемая, только для чтения) и var (изменяемая). В Java используется final для констант и обычное объявление для изменяемых переменных.

Основные отличия:

  1. Тип переменной – в Kotlin тип указывается после имени (val name: String), в Java – перед (String name).
  2. Null-безопасность – в Kotlin тип по умолчанию non-null, нужно явно указывать ? (var str: String?). В Java все объекты nullable.
  3. Инициализация – Kotlin требует инициализации при объявлении или в конструкторе (для val). В Java можно объявить без инициализации.

Пример:

val immutable: Int = 10 // Kotlin (неизменяемая)
var mutable: String = "Hello" // Kotlin (изменяемая)
final int immutable = 10; // Java (неизменяемая)
String mutable = "Hello"; // Java (изменяемая)