具有多个“参数”的Kotlin枚举

时间:2018-11-05 18:21:04

标签: kotlin enums

对于一个练习,我有一个像这样的枚举(由老师设置):

enum class Weapon(name: String, damage: Int) {
    SWORD("Sword", 12),
    AXE("Axe", 13),
    BOW("Bow", 14)
}

该武器将是data class Player的属性
但是一旦我设置了player.weapon = Weapon.SWORD
如何访问name中的damageweapon

我一直在互联网上寻找答案,但是在任何地方都找不到带有两个“参数”的枚举(不知道如何称呼它),所以我开始怀疑这个枚举是否可能。

谢谢大家

1 个答案:

答案 0 :(得分:7)

the documentation所示,您需要使用name关键字将damageval声明为枚举类的属性:

enum class Weapon(val weaponName: String, val damage: Int)

然后,您将可以简单地访问player.weapon.weaponName