Effective Enums in Kotlin with reverse lookup?

后端 未结 12 1718
野性不改
野性不改 2020-11-30 01:40

I\'m trying to find the best way to do a \'reverse lookup\' on an enum in Kotlin. One of my takeaways from Effective Java was that you introduce a static map inside the enum

12条回答
  •  无人及你
    2020-11-30 02:01

    Another option, that could be considered more "idiomatic", would be the following:

    companion object {
        private val map = Type.values().associateBy(Type::value)
        operator fun get(value: Int) = map[value]
    }
    

    Which can then be used like Type[type].

提交回复
热议问题