quinta-feira, 30 de abril de 2020

Enums em Kotlin


#mobile #android #kotlin
As Enums em Kotlin são muito úteis, ainda mais se considerarmos o comando when, que não existem em Java.




Enums são classes e cada um dos seus valores é uma instância. Isto é claramente demonstrado no código abaixo, que cria uma sequência de cores, baseadas nos valores RGB:

enum class Kolor (val r: Int, val g: Int, val b: Int) {
    BLUE(0,0,255), RED(255,0,0), GREEN(0,128,0)

}

fun main() {
    val azul : Kolor = Kolor.BLUE
    println("Percentuais da cor Azul: R ${azul.r}, G ${azul.g}, B ${azul.b}")
    println(when(azul) {
        Kolor.BLUE -> "Azul"
        Kolor.RED -> "Vermelho"
        else -> "Nenhuma"
    })
}

Cada um dos valores da Enum é uma instância da classe Kolor, cujo construtor primário recebe 3 variáveis inteiras, especificando a quantidade de Vermelho "r", Verde "g" e Azul "b".

Podemos acessar os valores individuais das propriedades de cada cor, como demonstrado no primeiro println. Mas também podemos usar variáveis do tipo da Enum para testar condições, como o when, no segundo println.

Note que when também é uma expressão!

Nenhum comentário:

Postar um comentário