Valores e Ordinais de Enumerações
Itere e use índices
Valores e Ordinais de Enumerações é uma aula grátis de Kotlin Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Kotlin Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Kotlin Academy inclui 4 aulas no total.
Listando todas as constantes
A função gerada values() retorna uma matriz com todas as constantes, na ordem de declaração.
enum class Suit { HEARTS, CLUBS }
fun main() {
for (s in Suit.values()) println(s)
}entries em vez de values()
O Kotlin moderno prefere entries, que retorna uma lista imutável e evita criar uma nova matriz a cada chamada.
enum class Suit { HEARTS, CLUBS }
fun main() {
for (s in Suit.entries) println(s)
}A propriedade ordinal
Toda constante tem um ordinal: sua posição baseada em zero na ordem de declaração.
enum class Size { S, M, L }
fun main() {
println(Size.S.ordinal)
println(Size.L.ordinal)
}Contando constantes
Use entries.size para contar quantas constantes existem.
enum class Day { MON, TUE, WED }
fun main() {
println(Day.entries.size)
}Iterando com índice
Combine ordinais ou índices para numerar cada constante.
enum class Color { RED, GREEN, BLUE }
fun main() {
for (c in Color.entries) {
println("${c.ordinal}: $c")
}
}Recapitulação de valueOf e name
Combine valueOf() (string para constante) com name (constante para string) para fazer uma conversão de ida e volta.
enum class Status { ON, OFF }
fun main() {
val s = Status.valueOf("ON")
println(s.name)
}Mapeando as constantes
Como entries é uma lista, você pode usar funções de coleção, como map.
enum class Coin(val cents: Int) { PENNY(1), DIME(10) }
fun main() {
val names = Coin.entries.map { it.name }
println(names)
}Encontrando por propriedade
Pesquise constantes com first ou find com base em uma propriedade.
enum class Coin(val cents: Int) { PENNY(1), DIME(10) }
fun main() {
val c = Coin.entries.first { it.cents == 10 }
println(c)
}Ordinais são frágeis
Evite armazenar valores de ordinal por muito tempo. Reordenar as constantes altera os ordinais, corrompendo os dados salvos. Armazene name em vez disso.
enum class Level { LOW, HIGH }
fun main() {
println(Level.HIGH.name)
}Próxima constante pelo ordinal
Você pode navegar pelas constantes usando ordinais e a 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))
}Reunindo tudo
Resuma uma enumeração iterando e lendo tanto name quanto ordinal.
enum class Planet { MERCURY, VENUS, EARTH }
fun main() {
Planet.entries.forEach {
println("${it.ordinal} -> ${it.name}")
}
}Verificação rápida
Teste sua compreensão sobre valores e ordinais de enumerações.
Recapitulação
Você aprendeu a enumerar e indexar constantes:
entries(preferível) evalues()listam todas as constantes.ordinalé a posição da declaração baseada em zero.entriesé uma lista, portanto as funções de coleção funcionam.- Prefira armazenar
nameem vez deordinalpara obter durabilidade.
enum class Size { S, M, L }
fun main() {
println(Size.entries.size)
println(Size.M.ordinal)
}Perguntas Frequentes
A aula “Valores e Ordinais de Enumerações” é grátis?
Sim — o texto completo de “Valores e Ordinais de Enumerações” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Kotlin Academy, atualize para CoddyKit PRO. O curso de Kotlin Academy inclui 4 aulas no total.
O que vou aprender em “Valores e Ordinais de Enumerações”?
Itere e use índices Você pratica Kotlin Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Kotlin Academy?
Nenhuma experiência prévia é necessária. Kotlin Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Valores e Ordinais de Enumerações”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Kotlin Academy?
Sim. Cada aula de Kotlin Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Definição de Enumerações
- Propriedades e Métodos de Enumerações
- Enumerações com when
- Valores e Ordinais de Enumerações