Spec-Zone.ru › Kotlin 1.7

Сравнение с Java

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

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

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

  • Отсутствуют примитивные типы

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

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

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

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

Что Java имеет, чего нет в Kotlin

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

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

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

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

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

Что Kotlin имеет, чего нет в Java

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

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

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

  • Умные приведения типов

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

  • Свойства

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

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

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

  • Синглетоны

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

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

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

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

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

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

  • Корутины

Что дальше?

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

Последнее изменение: 06 сентября 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