0Pricing
Kotlin Academy · Aula

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) e values() 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 name em vez de ordinal para 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

  1. Definição de Enumerações
  2. Propriedades e Métodos de Enumerações
  3. Enumerações com when
  4. Valores e Ordinais de Enumerações
← Voltar para Kotlin Academy