Переписывал ли Java на Kotlin

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

Ответ

Да, переписывал. Основные преимущества Kotlin:

  • Null-safety (избегаем NullPointerException).
  • Лаконичность (меньше boilerplate-кода).
  • Coroutines для асинхронности.

Пример перевода:

// Java
public class User {
    private String name;
    public User(String name) { this.name = name; }
    public String getName() { return name; }
}
// Kotlin
data class User(val name: String)

Нюансы:

  • Совместимость с Java (можно вызывать Kotlin из Java и наоборот).
  • Нужно учитывать interop (аннотации @JvmField, @JvmStatic).
  • Иногда Kotlin-код генерирует больше байткода (но это редко критично).

Использую Kotlin для новых фич, а старый код переписываю постепенно.