Kotlin Standardbibliothek: Vollständiger Überblick
Die Kotlin Standardbibliothek (stdlib) ist ein leistungsstarkes Toolkit, das zusammen mit dem Compiler ausgeliefert wird und grundlegende Funktionalität für die tägliche Entwicklung bereitstellt. Im Gegensatz zu Java, wo viele Operationen externe Bibliotheken erfordern, bietet Kotlin integrierte Lösungen für die Arbeit mit Collections, Zeichenketten, Coroutinen, Serialisierung und Datei-Ein-/Ausgabe. In diesem Artikel werden wir die wichtigsten Module und Funktionen der Kotlin Standardbibliothek mit praktischen Beispielen im Detail durchgehen.
1. Grundlegende Typen und ihre Möglichkeiten
Die Bibliothek enthält erweiterte Funktionen für primitive Typen und Zeichenketten:
- Numerische Typen —
Int,Double,Longund ihre Erweiterungen (.toInt(),.coerceIn()). - Zeichenketten — Vorlagen (
"Hallo, $name"), mehrzeilige Zeichenketten ("""..."""), Methodenreplace(),split(),trimIndent(). - Bereiche —
1..10,step 2,downTo.
// Beispiel für die Arbeit mit Zeichenketten und Bereichenfun main() { val name = "Kotlin" val greeting = "Hallo, $name!" println(greeting) // Hallo, Kotlin!
for (i in 1..5 step 2) { println(i) // 1, 3, 5 }}2. Collections: List, Set, Map
Kotlin unterteilt Collections in veränderbare (MutableList, MutableSet, MutableMap) und unveränderbare (List, Set, Map). Hauptfunktionen:
- Erstellung —
listOf(),setOf(),mapOf(). - Filterung und Transformation —
filter(),map(),flatMap(),groupBy(). - Aggregation —
sum(),count(),reduce(),fold(). - Sortierung —
sorted(),sortedBy().
// Beispiel für die Arbeit mit Collectionsfun main() { val numbers = listOf(1, 2, 3, 4, 5) val evenSquares = numbers .filter { it % 2 == 0 } .map { it * it } println(evenSquares) // [4, 16]
val grouped = numbers.groupBy { if (it % 2 == 0) "even" else "odd" } println(grouped) // {odd=[1, 3, 5], even=[2, 4]}}3. Sequenzen (Sequences)
Für träge Berechnungen bietet Kotlin Sequence. Dies ist besonders nützlich bei der Arbeit mit großen Datenmengen:
fun main() { val result = (1..1_000_000) .asSequence() .filter { it % 2 == 0 } .map { it * 2 } .take(5) .toList() println(result) // [4, 8, 12, 16, 20]}4. Null-Sicherheit und Elvis-Operator
Eine der Schlüsselfunktionen von Kotlin ist die sichere Arbeit mit null. Die Bibliothek bietet:
- Elvis-Operator (
?:) — legt einen Standardwert fest. - Sicherer Aufruf (
?.) — verhindert NullPointerException. - Funktion let — führt Code nur aus, wenn das Objekt nicht null ist.
fun main() { val name: String? = null val length = name?.length ?: 0 println(length) // 0
name?.let { println("Name ist nicht null: $it") }}5. Arbeit mit Dateien und Streams
Die Standardbibliothek enthält praktische Erweiterungen für java.io.File:
readText(),writeText()— Lesen/Schreiben von Zeichenketten.readLines()— zeilenweises Lesen.useLines()— sicheres Arbeiten mit Streams.copyTo(),