Kotlin – 使用枚举来检索一个字符

对于面向对象的概念而言,Kotlin中的枚举对我来说有些困惑。 我的穴居人的解释是,枚举是用来存储不变的变量。 我正在制作一个简单的Tic-Tac-Toe应用程序,只需要将值“X”,“Y”和“ – ”全部保存为字符。 我的困惑在哪里? 有没有更好的方法来从“库”中检索一组特定的字符? 这是我目前的代码假设:

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) } 

你想要有属性char而不是枚举常量的名称,更改为:

  fun printX(){ println(markers.X.char) } 

还要使char成为一个val以便它可以作为属性访问: enum class markers(val char: Char)

 enum class markers(private val char: Char){ X('X'), O('O'), EMPTY('-'); override fun toString() = char.toString() } markers.values().forEach(::print)