Ответ
Kotlin отличается лаконичностью, безопасностью и полной совместимостью с Java.
Ключевые особенности:
-
Null-безопасность: встроенная защита от
NullPointerExceptionчерез?(nullable типы) и!!(non-null assertion).val name: String? = null println(name?.length) // безопасный вызов → null -
Умные приведения типов: автоматическое приведение после проверки
is. -
Расширения (extensions): добавление функций к существующим классам без наследования.
fun String.addExclamation() = "$this!" println("Hello".addExclamation()) // "Hello!" -
Data-классы: автоматическая генерация
equals(),hashCode(),toString(). -
Coroutines для асинхронности вместо callback-адa.
Пример Java-кода в Kotlin:
// Java
String str = "text";
if (str != null) { System.out.println(str.length()); }
// Kotlin
val str: String? = "text"
println(str?.length)