0Pricing
Kotlin Academy · Aula

Definição de Enumerações

Conjuntos de constantes nomeadas

Definição de Enumerações é uma aula grátis de Kotlin Academy no CoddyKit. Esta é a aula 1 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.

O que é uma enumeração?

Uma classe de enumeração define um conjunto fixo de constantes nomeadas. Use-a quando um valor só puder ser uma opção de um grupo pequeno e conhecido.

  • Cada constante é uma instância do tipo de enumeração.
  • O compilador garante que nenhum outro valor seja possível.
enum class Direction {
    NORTH, SOUTH, EAST, WEST
}

fun main() {
    val d = Direction.NORTH
    println(d)
}

Por que não usar apenas strings?

Strings permitem erros de digitação e valores inválidos. Uma enumeração torna estados inválidos impossíveis: o compilador rejeita qualquer valor fora do conjunto declarado.

enum class Status { ACTIVE, INACTIVE }

fun main() {
    val s: Status = Status.ACTIVE
    println("Current: $s")
}

Declarando constantes

As constantes são listadas entre as chaves, separadas por vírgulas. Por convenção, elas são escritas em UPPER_SNAKE_CASE.

enum class Size {
    SMALL, MEDIUM, LARGE, EXTRA_LARGE
}

fun main() {
    println(Size.EXTRA_LARGE)
}

Cada constante é um objeto

Cada constante de uma enumeração é uma instância única do tipo de enumeração. Você sempre faz referência a ela por meio do nome da enumeração, como Color.RED.

enum class Color { RED, GREEN, BLUE }

fun main() {
    val c = Color.GREEN
    println(c == Color.GREEN)
}

Comparando valores de enumeração

As constantes de uma enumeração podem ser comparadas com ==. Como cada uma é uma instância única, a igualdade e a identidade da referência coincidem.

enum class Light { RED, YELLOW, GREEN }

fun main() {
    val signal = Light.RED
    if (signal == Light.RED) println("Stop")
}

Lendo a propriedade name

Cada constante expõe uma propriedade integrada name: a string exata de sua declaração.

enum class Planet { MERCURY, VENUS, EARTH }

fun main() {
    val p = Planet.EARTH
    println(p.name)
}

valueOf a partir de uma string

A função gerada valueOf() converte uma string correspondente na constante da enumeração. Uma string que não corresponda a nenhuma constante lança uma exceção.

enum class Day { MON, TUE, WED }

fun main() {
    val d = Day.valueOf("TUE")
    println(d)
}

Usando enumerações como parâmetros

Enumerações são ótimos parâmetros de função: quem chama a função só pode passar uma das constantes válidas.

enum class Level { LOW, HIGH }

fun setVolume(level: Level) {
    println("Volume set to $level")
}

fun main() {
    setVolume(Level.HIGH)
}

Enumerações melhoram a legibilidade

O código que lê Direction.NORTH explica seu próprio significado. Comparada a números mágicos como 0 ou 1, a intenção fica evidente.

enum class Gear { PARK, DRIVE, REVERSE }

fun main() {
    val current = Gear.DRIVE
    println("Gear is $current")
}

Um exemplo realista

Modelar um pequeno conjunto de naipes de cartas é uma aplicação perfeita para uma enumeração.

enum class Suit { HEARTS, DIAMONDS, CLUBS, SPADES }

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

Enumerações com uma única constante

Até mesmo uma única constante é válida, sendo frequentemente usada para modelar um valor que certamente será único (uma forma improvisada de instância única).

enum class AppMode { PRODUCTION }

fun main() {
    println(AppMode.PRODUCTION)
}

Verificação rápida

Teste sua compreensão sobre a definição de enumerações.

Recapitulação

Você aprendeu a definir enumerações:

  • enum class declara um conjunto fixo de constantes nomeadas.
  • Cada constante é uma instância única acessada por meio do nome da enumeração.
  • name e valueOf() fazem a ligação entre constantes e strings.
  • Enumerações impedem valores inválidos em tempo de compilação.
enum class Direction { NORTH, SOUTH, EAST, WEST }

fun main() {
    println(Direction.valueOf("EAST").name)
}

Perguntas Frequentes

A aula “Definição de Enumerações” é grátis?

Sim — o texto completo de “Definição 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 “Definição de Enumerações”?

Conjuntos de constantes nomeadas 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 1 de 4.

Quanto tempo leva a aula “Definição 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