对于一个练习,我有一个像这样的枚举(由老师设置):
enum class Weapon(name: String, damage: Int) {
SWORD("Sword", 12),
AXE("Axe", 13),
BOW("Bow", 14)
}
该武器将是data class Player
的属性
但是一旦我设置了player.weapon = Weapon.SWORD
如何访问name
中的damage
或weapon
?
我一直在互联网上寻找答案,但是在任何地方都找不到带有两个“参数”的枚举(不知道如何称呼它),所以我开始怀疑这个枚举是否可能。
谢谢大家
答案 0 :(得分:7)
如the documentation所示,您需要使用name
关键字将damage
和val
声明为枚举类的属性:
enum class Weapon(val weaponName: String, val damage: Int)
然后,您将可以简单地访问player.weapon.weaponName
。