Есть ли способ привести аргумент when к перечислению?
enum class PaymentStatus(val value: Int) {
PAID(1),
UNPAID(2)
}
fun f(x: Int) {
val foo = when (x) {
PaymentStatus.PAID -> "PAID"
PaymentStatus.UNPAID -> "UNPAID"
}
}
Приведенный выше пример не будет работать, так как x - это int, а предоставленные значения - это enum, если я пойду на PaymentStatus.PAID.value
, это сработает, но тогда я не получу преимущества, когда (полное покрытие) и
when (x as PaymentStatus)
не работает.
У кого-нибудь есть идеи сделать эту работу?