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 classdeclara um conjunto fixo de constantes nomeadas.- Cada constante é uma instância única acessada por meio do nome da enumeração.
nameevalueOf()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
- Definição de Enumerações
- Propriedades e Métodos de Enumerações
- Enumerações com when
- Valores e Ordinais de Enumerações