作为OOP概念的一点新手,Kotlin中的枚举对我来说有点混乱。我的穴居人解释是,枚举用于存储不变的变量。我正在制作一个简单的Tic-Tac-Toe应用程序,只想将值'X','Y'和' - '都存储为Chars。我的困惑在哪里?有没有更好的方法从“库”中检索特定的Chars集?这是我目前在代码中的假设:
enum class markers(char: Char){
X('X'), O('O'), EMPTY('-')
}
//To access the enums, thought it would be something like this
fun printX(){
println(markers.X)
}
答案 0 :(得分:3)
您希望拥有属性char
而不是枚举常量的名称,请更改为:
fun printX(){
println(markers.X.char)
}
同时将char
设为val
,以便可以将其作为属性进行访问:enum class markers(val char: Char)
答案 1 :(得分:0)
enum class markers(private val char: Char){
X('X'), O('O'), EMPTY('-');
override fun toString() = char.toString()
}
markers.values().forEach(::print)