我不知道术语,所以我不知道去哪里找(对不起(。这里是我的枚举:
enum class QualityGrade(val grade: Int) {
GOOD(1), OK(2), SOSO(3), BAD(4)
}
我想做什么(不知怎么的(
assertEquals(QualityGrade.GOOD, QualityGrade(1))
我无法用语言来描述这个问题,所以我希望有人能回答。。。
以下是我在这种情况下通常使用的方法:
enum class QualityGrade(val grade: Int) {
GOOD(1), OK(2), SOSO(3), BAD(4);
companion object {
private val valuesByGrade = values().map {
it.grade to it
}.toMap()
fun findByGrade(grade: Int): QualityGrade? {
return valuesByGrade[grade]
}
}
}
assert(QualityGrade.GOOD == QualityGrade.findByGrade(1))
UPD:修改为稍好的版本