Сравнение с Java
Некоторые проблемы Java, решённые в Kotlin
Kotlin решает ряд проблем, характерных для Java:
Ссылки на null контролируются системой типов.
Массивы в Kotlin инвариантны
В Kotlin есть полноценные типы функций, в отличие от SAM-преобразований в Java
Вариантность на месте использования без шаблонов
В Kotlin нет проверяемых исключений
Отдельные интерфейсы для коллекций только для чтения и изменяемых коллекций
Что есть в Java, но отсутствует в Kotlin
Примитивные типы, не являющиеся классами. В байт-коде используются примитивы, когда это возможно, но они недоступны явно.
Статические члены заменены на объекты-компаньоны, функции верхнего уровня, функции-расширения или @JvmStatic.
Типы с подстановочными знаками заменены на вариантность на месте объявления и проекции типов.
Тернарный оператор
a ? b : cзаменён на выражение if.Модификатор видимости package-private
Что есть в Kotlin, но отсутствует в Java
Лямбда-выражения + встроенные функции = эффективные пользовательские управляющие конструкции
Вывод типов переменных и свойств (Java 10: Вывод типов локальных переменных)
Что дальше?
Узнайте, как:
© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/comparison-to-java.html