我试图通过其值获取枚举,但是它会抛出一个错误,显示没有枚举常量
。这个例子的代码是Kotlin,但Java中也一样。谢谢。
import java.util.*
enum class TaskAction constructor(val value: String) {
ARCHIVE("Archive"), UN_FLAG("Un flag"), FLAG("Flag"), REDO("Redo"),
READY("Ready"), EDIT("Edit"), DND("dnd"), DELETE("Delete"),
IN_PROGRESS("In progress"), DONE("Done");
}
fun main(args: Array<String>) {
showSomeThing(TaskAction.UN_FLAG.value)
}
fun showSomeThing(enum: String) {
println(TaskAction.valueOf(enum))
}
日志:
主线程中的异常java.lang.IllegalArgumentException: No enum constant TaskAction.Un flag
constructor
。请参考以下链接进行比较:https://kotlinlang.org/docs/reference/enum-classes.html - Roel StrolenbergMap
。 - Ole V.V.