Enums definieren
Benannte Mengen von Konstanten
Enums definieren ist eine kostenlose Kotlin Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Kotlin Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Kotlin Academy-Kurs umfasst insgesamt 4 Lektionen.
Was ist ein Enum?
Eine enum class definiert eine feste Menge benannter Konstanten. Verwenden Sie sie, wenn ein Wert nur eine von wenigen bekannten Optionen annehmen kann.
- Jede Konstante ist eine Instanz des Enum-Typs.
- Der Compiler garantiert, dass keine anderen Werte möglich sind.
enum class Direction {
NORTH, SOUTH, EAST, WEST
}
fun main() {
val d = Direction.NORTH
println(d)
}Warum nicht einfach Strings verwenden?
Strings ermöglichen Tippfehler und ungültige Werte. Ein Enum macht ungültige Zustände unmöglich: Der Compiler weist alles zurück, was außerhalb der deklarierten Menge liegt.
enum class Status { ACTIVE, INACTIVE }
fun main() {
val s: Status = Status.ACTIVE
println("Current: $s")
}Konstanten deklarieren
Die Konstanten werden zwischen den geschweiften Klammern aufgeführt und durch Kommas getrennt. Konventionell schreibt man sie in UPPER_SNAKE_CASE.
enum class Size {
SMALL, MEDIUM, LARGE, EXTRA_LARGE
}
fun main() {
println(Size.EXTRA_LARGE)
}Jede Konstante ist ein Objekt
Jede Enum-Konstante ist eine Singleton-Instanz des Enum-Typs. Sie greifen immer über den Namen des Enums darauf zu, zum Beispiel mit Color.RED.
enum class Color { RED, GREEN, BLUE }
fun main() {
val c = Color.GREEN
println(c == Color.GREEN)
}Enum-Werte vergleichen
Enum-Konstanten können mit == verglichen werden. Da jede Konstante eine Singleton-Instanz ist, stimmen Gleichheit und Referenzidentität überein.
enum class Light { RED, YELLOW, GREEN }
fun main() {
val signal = Light.RED
if (signal == Light.RED) println("Stop")
}Die Eigenschaft name lesen
Jede Konstante stellt eine integrierte Eigenschaft name bereit: die exakte Zeichenfolge aus ihrer Deklaration.
enum class Planet { MERCURY, VENUS, EARTH }
fun main() {
val p = Planet.EARTH
println(p.name)
}valueOf aus einem String
Die generierte Funktion valueOf() wandelt einen passenden String in die entsprechende Enum-Konstante um. Bei einem nicht passenden String wird eine Exception ausgelöst.
enum class Day { MON, TUE, WED }
fun main() {
val d = Day.valueOf("TUE")
println(d)
}Enums als Parameter verwenden
Enums eignen sich hervorragend als Funktionsparameter: Aufrufende können nur eine der gültigen Konstanten übergeben.
enum class Level { LOW, HIGH }
fun setVolume(level: Level) {
println("Volume set to $level")
}
fun main() {
setVolume(Level.HIGH)
}Enums verbessern die Lesbarkeit
Code mit Direction.NORTH erklärt sich von selbst. Im Vergleich zu magischen Zahlen wie 0 oder 1 ist die Absicht sofort erkennbar.
enum class Gear { PARK, DRIVE, REVERSE }
fun main() {
val current = Gear.DRIVE
println("Gear is $current")
}Ein realistisches Beispiel
Eine kleine Menge von Kartenfarben zu modellieren, ist ein perfekter Anwendungsfall für ein Enum.
enum class Suit { HEARTS, DIAMONDS, CLUBS, SPADES }
fun main() {
for (suit in Suit.values()) {
println(suit)
}
}Enums mit nur einer Konstante
Auch eine einzige Konstante ist zulässig. Das wird häufig verwendet, um einen garantiert einzigen Wert zu modellieren – ein Singleton für Arme.
enum class AppMode { PRODUCTION }
fun main() {
println(AppMode.PRODUCTION)
}Kurze Überprüfung
Testen Sie Ihr Verständnis zum Definieren von Enums.
Zusammenfassung
Sie haben gelernt, Enums zu definieren:
enum classdeklariert eine feste Menge benannter Konstanten.- Jede Konstante ist eine Singleton-Instanz, auf die über den Namen des Enums zugegriffen wird.
nameundvalueOf()ermöglichen die Umwandlung zwischen Konstanten und Strings.- Enums verhindern ungültige Werte bereits zur Compile-Zeit.
enum class Direction { NORTH, SOUTH, EAST, WEST }
fun main() {
println(Direction.valueOf("EAST").name)
}Lerne Kotlin mit einem KI-Tutor — kostenlos
Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.
- Kurse
- 51
- Lektionen
- 203
Häufig gestellte Fragen
Ist die Lektion „Enums definieren“ kostenlos?
Ja — der vollständige Text von „Enums definieren“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Kotlin Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Kotlin Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Enums definieren“?
Benannte Mengen von Konstanten Du übst Kotlin Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Kotlin Academy zu starten?
Keine Vorkenntnisse erforderlich. Kotlin Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.
Wie lange dauert die Lektion „Enums definieren“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Kotlin Academy-Lektion Code schreiben und ausführen?
Ja. Jede Kotlin Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.