0Pricing
Kotlin Academy · Lezione

Valori e ordinali degli enum

Iteri e utilizzi gli indici

Valori e ordinali degli enum è una lezione Kotlin Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Kotlin Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Kotlin Academy include 4 lezioni in totale.

Elenco di tutte le costanti

La funzione generata values() restituisce un array contenente ogni costante nell'ordine della dichiarazione.

enum class Suit { HEARTS, CLUBS }

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

entries invece di values()

Le versioni moderne di Kotlin preferiscono entries, che restituisce una lista immutabile ed evita di creare un nuovo array a ogni chiamata.

enum class Suit { HEARTS, CLUBS }

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

La proprietà ordinal

Ogni costante ha un ordinal: la sua posizione a partire da zero nell'ordine della dichiarazione.

enum class Size { S, M, L }

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

Conteggio delle costanti

Utilizzi entries.size per contare quante costanti esistono.

enum class Day { MON, TUE, WED }

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

Iterazione con indice

Combini ordinali o indici per numerare ogni costante.

enum class Color { RED, GREEN, BLUE }

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

Riepilogo di valueOf e name

Abbini valueOf() (da stringa a costante) a name (da costante a stringa) per una conversione bidirezionale.

enum class Status { ON, OFF }

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

Applicazione di map alle costanti

Poiché entries è una lista, può utilizzare funzioni delle collezioni come map.

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

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

Ricerca per proprietà

Cerchi le costanti con first o find in base a una proprietà.

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

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

Gli ordinali sono fragili

Eviti di memorizzare a lungo termine i valori ordinal. Riordinare le costanti ne modifica gli ordinali e danneggia i dati salvati. Memorizzi invece name.

enum class Level { LOW, HIGH }

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

Costante successiva tramite ordinal

È possibile spostarsi tra le costanti utilizzando gli ordinali e la lista entries.

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))
}

Composizione finale

Riepiloghi una enum scorrendo le costanti e leggendo sia name sia ordinal.

enum class Planet { MERCURY, VENUS, EARTH }

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

Verifica rapida

Verifichi la propria comprensione dei valori enum e degli ordinali.

Riepilogo

Ha imparato a enumerare e indicizzare le costanti:

  • entries (preferito) e values() elencano tutte le costanti.
  • ordinal è la posizione della dichiarazione a partire da zero.
  • entries è una lista, quindi è possibile utilizzare le funzioni delle collezioni.
  • Per una maggiore durabilità, preferisca memorizzare name invece di ordinal.
enum class Size { S, M, L }

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

Domande Frequenti

La lezione «Valori e ordinali degli enum» è gratuita?

Sì — il testo completo di «Valori e ordinali degli enum» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Kotlin Academy, passa a CoddyKit PRO. Il corso Kotlin Academy include 4 lezioni in totale.

Cosa imparerò in «Valori e ordinali degli enum»?

Iteri e utilizzi gli indici Eserciti Kotlin Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Kotlin Academy?

Non è richiesta alcuna esperienza precedente. Kotlin Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Valori e ordinali degli enum»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Kotlin Academy?

Sì. Ogni lezione Kotlin Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Definizione degli enum
  2. Proprietà e metodi degli enum
  3. Enum con when
  4. Valori e ordinali degli enum
← Torna a Kotlin Academy