Kotlin stał się moim ulubionym językiem do tworzenia aplikacji Android. Po kilku latach pracy z tym językiem chciałbym podzielić się 10 cechami, które go kochamy.
1. Null Safety
Kotlin zmusza Cię do myślenia o wartościach null już w momencie kompilacji. To eliminuje wiele błędów:
// Java - mogę zapomnieć o null check
String name = getNullableName();
int length = name.length(); // NPE!
// Kotlin - typowanie wymusza bezpieczeństwo
val name: String? = getNullableName()
val length = name?.length // safe call
2. Extension Functions
Mogę dodać funkcje do istniejących klas bez dziedziczenia:
fun String.isEmailValid(): Boolean {
return this.contains("@")
}
val email = "user@example.com"
if (email.isEmailValid()) { ... }
3. Data Classes
Automatycznie generują equals(), hashCode(), toString():
data class User(val id: Int, val name: String)
// getter, setter, equals, hashCode, toString - wszystko automatycznie!
4. Smart Casts
Po sprawdzeniu typu, nie muszę już castować:
if (obj is String) {
println(obj.length) // obj jest już String!
}
5. Lambda Expressions
Funkcje anonimowe są proste i czytelne:
val numbers = listOf(1, 2, 3, 4, 5)
numbers.filter { it > 2 }.forEach { println(it) }
6. Default Parameters
Mogę ustawić domyślne wartości parametrów:
fun makeRequest(
url: String,
timeout: Int = 5000,
retries: Int = 3
) { ... }
7. Named Parameters
Mogę wywoływać funkcje z nazwanymi parametrami:
makeRequest(
url = "https://api.example.com",
timeout = 10000,
retries = 5
)
8. Destructuring
Mogę rozbić obiekty na zmienne:
data class Point(val x: Int, val y: Int)
val (x, y) = Point(1, 2)
9. Scope Functions
let, apply, with, run - są bardzo przydatne:
User(1, "John").apply {
email = "john@example.com"
age = 25
}.also { user ->
saveToDatabase(user)
}
10. Companion Objects
Mogę mieć “statyczne” metody bez klasy companion:
class User {
companion object {
fun create(name: String) = User(1, name)
}
}
val user = User.create("John")
Podsumowanie
Kotlin to nie tylko alternatywa dla Java - to znaczące ulepszenie. Kod jest bardziej bezpieczny, czytelny i zwięzły.
Jeśli nie próbowałeś jeszcze Kotlin, zachęcam Cię do tego. Nie będziesz żałować! 💎
