Spec-Zone.ru › Kotlin 1.6

Сравнение с Java

Некоторые проблемы Java, решённые в Kotlin

Kotlin исправляет ряд проблем, свойственных Java:

  • Ссылочные значения null контролируются системой типов.

  • Отсутствуют необработанные типы

  • Массивы в Kotlin являются неизменяемыми

  • Kotlin имеет правильные типы функций, в отличие от SAM-преобразований Java

  • Вариативность в месте использования без диких карт

  • Kotlin не имеет проверенных исключений

Что есть в Java, но нет в Kotlin

  • Проверяемые исключения

  • Примитивные типы, которые не являются классами. Байткод использует примитивы там, где это возможно, но они не доступны явно.

  • Статические члены заменены на объекты-компаньоны, функции верхнего уровня, расширяющие функции или @JvmStatic.

  • Дикие типы заменены на вариативность в месте объявления и проекции типов.

  • Тернарный оператор a ? b : c заменён на выражение if.

Что есть в Kotlin, но нет в Java

  • Выражения лямбда + Встроенные функции = производительные пользовательские управляющие структуры

  • Расширяющие функции

  • Безопасность от null

  • Умные преобразования типов

  • Шаблоны строк

  • Свойства

  • Первичные конструкторы

  • Делегирование в качестве первого класса

  • Выведение типов для переменных и типов свойств

  • Синглетоны

  • Вариативность в месте объявления и Проекции типов

  • Выражения диапазонов

  • Перегрузка операторов

  • Объекты-компаньоны

  • Классы данных

  • Отдельные интерфейсы для неизменяемых и изменяемых коллекций

  • Корутины

Что дальше?

Узнайте, как выполнять обычные задачи со строками в Java и Kotlin.

Последнее изменение: 07 апреля 2022
Начать работу с Kotlin/JVM Вызов Java из Kotlin

© 2010–2022 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API