Ответ 1
Вы должны определить value
как свойство (val
), а не как параметр конструктора. После этого становится доступным:
enum class States(val value: Int) {
STATE_A(1),
STATE_B(2),
STATE_C(3),
STATE_D(4)
}
...
println(States.STATE_C.value) // prints 3
Также рассмотрите возможность использования ordinal
, который может подойти в вашем случае:
enum class States {
STATE_A,
STATE_B,
STATE_C,
STATE_D
}
...
println(States.STATE_C.ordinal + 1) // prints 3
Если вы идете с этим подходом, будьте осторожны - любое изменение States
порядка может привести к поломке вашего кода.