0Pricing
Kotlin Academy · Lektion

Enum-Werte und Ordinalzahlen

Iterieren und indizieren

Enum-Werte und Ordinalzahlen ist eine kostenlose Kotlin Academy-Lektion auf CoddyKit. Dies ist Lektion 4 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.

Alle Konstanten auflisten

Die generierte Funktion values() gibt ein Array mit allen Konstanten in der Reihenfolge ihrer Deklaration zurück.

enum class Suit { HEARTS, CLUBS }

fun main() {
    for (s in Suit.values()) println(s)
}

entries statt values()

Modernes Kotlin bevorzugt entries. Es gibt eine unveränderliche Liste zurück und vermeidet die Erstellung eines neuen Arrays bei jedem Aufruf.

enum class Suit { HEARTS, CLUBS }

fun main() {
    for (s in Suit.entries) println(s)
}

Die Eigenschaft ordinal

Jede Konstante besitzt ein ordinal: ihre nullbasierte Position in der Reihenfolge der Deklaration.

enum class Size { S, M, L }

fun main() {
    println(Size.S.ordinal)
    println(Size.L.ordinal)
}

Konstanten zählen

Verwenden Sie entries.size, um die Anzahl der Konstanten zu ermitteln.

enum class Day { MON, TUE, WED }

fun main() {
    println(Day.entries.size)
}

Mit einem Index iterieren

Kombinieren Sie Ordinalwerte oder Indizes, um jede Konstante zu nummerieren.

enum class Color { RED, GREEN, BLUE }

fun main() {
    for (c in Color.entries) {
        println("${c.ordinal}: $c")
    }
}

Zusammenfassung zu valueOf und name

Kombinieren Sie valueOf() (String zu Konstante) mit name (Konstante zu String), um eine Hin- und Rückkonvertierung zu ermöglichen.

enum class Status { ON, OFF }

fun main() {
    val s = Status.valueOf("ON")
    println(s.name)
}

Konstanten abbilden

Da entries eine Liste ist, können Sie Sammlungsfunktionen wie map verwenden.

enum class Coin(val cents: Int) { PENNY(1), DIME(10) }

fun main() {
    val names = Coin.entries.map { it.name }
    println(names)
}

Nach einer Eigenschaft suchen

Durchsuchen Sie Konstanten mithilfe von first oder find anhand einer Eigenschaft.

enum class Coin(val cents: Int) { PENNY(1), DIME(10) }

fun main() {
    val c = Coin.entries.first { it.cents == 10 }
    println(c)
}

Ordinalwerte sind anfällig

Vermeiden Sie es, ordinal-Werte langfristig zu speichern. Durch das Umsortieren von Konstanten ändern sich die Ordinalwerte, wodurch gespeicherte Daten unbrauchbar werden können. Speichern Sie stattdessen name.

enum class Level { LOW, HIGH }

fun main() {
    println(Level.HIGH.name)
}

Die nächste Konstante über den Ordinalwert

Sie können mithilfe von Ordinalwerten und der Liste entries zwischen Konstanten navigieren.

enum class Gear { FIRST, SECOND, THIRD }

fun next(g: Gear): Gear {
    val all = Gear.entries
    return all[(g.ordinal + 1) % all.size]
}

fun main() {
    println(next(Gear.FIRST))
}

Alles zusammenführen

Fassen Sie ein Enum zusammen, indem Sie darüber iterieren und sowohl name als auch ordinal auslesen.

enum class Planet { MERCURY, VENUS, EARTH }

fun main() {
    Planet.entries.forEach {
        println("${it.ordinal} -> ${it.name}")
    }
}

Kurze Überprüfung

Testen Sie Ihr Verständnis von Enum-Werten und Ordinalwerten.

Zusammenfassung

Sie haben gelernt, Konstanten aufzulisten und zu indizieren:

  • entries (bevorzugt) und values() listen alle Konstanten auf.
  • ordinal ist die nullbasierte Position in der Deklaration.
  • entries ist eine Liste, daher funktionieren Sammlungsfunktionen damit.
  • Speichern Sie für dauerhafte Daten vorzugsweise name statt ordinal.
enum class Size { S, M, L }

fun main() {
    println(Size.entries.size)
    println(Size.M.ordinal)
}

Häufig gestellte Fragen

Ist die Lektion „Enum-Werte und Ordinalzahlen“ kostenlos?

Ja — der vollständige Text von „Enum-Werte und Ordinalzahlen“ 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 „Enum-Werte und Ordinalzahlen“?

Iterieren und indizieren 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 4 von 4.

Wie lange dauert die Lektion „Enum-Werte und Ordinalzahlen“?

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.

Alle Lektionen in diesem Kurs

  1. Enums definieren
  2. Enum-Eigenschaften und -Methoden
  3. Enums mit when
  4. Enum-Werte und Ordinalzahlen
← Zurück zu Kotlin Academy