Kotlin значительно сокращает объем кода:
// Java
public class User {
private String name;
public User(String name) {
this.name = name;
}
}
// Kotlin
class User(val name: String)
Kotlin встроил null-безопасность в систему типов:
var nonNullable: String = "text" // Не может быть null
var nullable: String? = null // Может быть null
Kotlin поддерживает:
Пример:
fun String.addExclamation() = this + "!"
println("Hello".addExclamation()) // Выведет "Hello!"
Kotlin предлагает корутины для асинхронных операций:
viewModelScope.launch {
val data = withContext(Dispatchers.IO) { fetchData() }
updateUI(data)
}
Автоматическая генерация методов:
data class User(val id: Int, val name: String)
// Автоматически получаем equals(), hashCode(), toString(), copy()
Kotlin автоматически делает приведение типов:
when (obj) {
is String -> println(obj.length) // Автоматическое приведение к String
}
В Kotlin нет обязательных проверяемых исключений.
Kotlin:
Kotlin включает полезные расширения:
listOf(1, 2, 3).filter { it > 1 }.map { it * 2 }
Kotlin - это современный язык, который:
При этом Java остается хорошим выбором для: