Kotlin - 使用Enums检索Char

时间:2017-11-02 19:05:28

标签: enums kotlin

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

2 个答案:

答案 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)