Avatar ·

Enums eficientes em Kotlin: como fazer busca reversa por valor?

Olá a todos! Escrevo em Kotlin recentemente e me deparei com a seguinte tarefa. Eu tenho uma classe enum para status de pedido: ```kotlin enum class OrderStatus(val code: Int) { PENDING(1), PROCESSING(2), SHIPPED(3), DELIVERED(4), CANCELLED(5) } ``` Do banco de dados, recebo um código numérico de status (por exemplo, 3) e preciso obter o valor enum correspondente — `OrderStatus.SHIPPED`. Sei que em Java frequentemente se usa um `HashMap` estático para busca reversa. Mas em Kotlin isso parece complicado. Tentei escrever uma função de extensão: ```kotlin fun OrderStatus.Companion.fromCode(code: Int): OrderStatus? { return values().find { it.code == code } } ``` Mas isso funciona devagar, porque percorre todos os valores a cada vez. Para 5 status não é crítico, mas no projeto há um enum com 30+ valores, e temo que em grandes volumes de dados isso vá travar. Pergunta: como implementar corretamente uma busca reversa (reverse lookup) eficiente em enums do Kotlin? Se