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) evalues()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
nameinvece diordinal.
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
- Definizione degli enum
- Proprietà e metodi degli enum
- Enum con when
- Valori e ordinali degli enum