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

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

Ответ

Kotlin — современный язык, полностью совместимый с Java, но с более лаконичным синтаксисом, null-безопасностью и расширенными возможностями.

Ключевые отличия:

  • Null-safety: В Kotlin типы по умолчанию non-null (StringString?), что снижает риск NullPointerException.
  • Синтаксис: Kotlin короче (например, data-классы, лямбды, extension-функции).
  • Coroutines: Упрощают асинхронный код без callback hell.
  • Interop: Kotlin может использовать Java-библиотеки и наоборот.

Пример (Data-класс Kotlin vs Java POJO):

data class User(val name: String, val age: Int) // Kotlin (1 строка)
// Java (10+ строк с геттерами/сеттерами, equals, hashCode)
public class User {
    private String name;
    private int age;
    // конструктор, геттеры, сеттеры...
}

Итог: Kotlin сокращает boilerplate-код и добавляет современные фичи, оставаясь совместимым с Java.