Некоторые особенности, которые следует учитывать при вызове Java-кода из Kotlin:
- Геттеры и сеттеры. 13 Методы, которые следуют конвенциям Java для геттеров и сеттеров, представлены как свойства в Kotlin. 3
- Экранирование идентификаторов. 3 Если Java-библиотека использует ключевые слова Kotlin в названиях методов, можно вызывать метод, используя экранирование с помощью обратной кавычки (
)
. 3 - Null-безопасность и платформенные типы. 13 Любая ссылка в Java может принимать значение null, что делает требования Kotlin по строгой null-безопасности непрактичными для объектов, приходящих из Java. 3 Типы, декларируемые в Java, обрабатываются по-особому в Kotlin и называются платформенными типами. 3 Null-проверки для таких типов являются менее строгими. 3
- Инвариантность массивов. 1 В отличие от Java, массивы в Kotlin инвариантны. 1 Это значит, что Kotlin не позволит назначить Array на Array, что предотвращает возможную ошибку во время выполнения. 1
- SAM-преобразования. 3 Литералы функций в Kotlin могут быть автоматически преобразованы к реализации Java-интерфейсов с одним абстрактным методом, если типы параметров функции в Kotlin совпадают с типами параметров метода интерфейса. 3