我想通过其关联值初始化枚举。
我的枚举:
enum class DirectionSwiped(raw: Int){
LEFT(4),
RIGHT(8);
}
Run Code Online (Sandbox Code Playgroud)
我想这样初始化它:
val direction = DirectionSwiped(raw: 4)
Run Code Online (Sandbox Code Playgroud)
但我收到此错误:
枚举类型无法实例化
为什么会这样?在 Swift 中,这个功能是这样工作的:
enum Direction: Int {
case right = 2
}
let direction = Direction(rawValue: 2)
Run Code Online (Sandbox Code Playgroud)
我怎样才能让它在 Kotlin 中工作?
是的你可以
enum class DirectionSwiped(val raw: Int){
LEFT(4),
RIGHT(8);
}
val left = DirectionSwiped.LEFT
val right = DirectionSwiped.RIGHT
val leftRaw = DirectionSwiped.LEFT.raw
val rightRaw = DirectionSwiped.LEFT.raw
val fromRaw = DirectionSwiped.values().firstOrNull { it.raw == 5 }
Run Code Online (Sandbox Code Playgroud)
这将是访问实例的正确方法 enum class
你所要做的是创建定义网站,这是不可能的之外的新实例enum或sealed类,这就是为什么说错误的构造函数是私有
| 归档时间: |
|
| 查看次数: |
1743 次 |
| 最近记录: |