带有多个"参数"的Kotlin枚举

Pla*_*ric 3 enums kotlin

对于练习,我有一个enum(由老师设置),如下所示:

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

该武器将是一个的属性,data class Player
但是一旦我设定player.weapon = Weapon.SWORD
如何访问到namedamageweapon

我已经在互联网上寻找答案,但没有找到任何带有两个"参数"的枚举(不知道如何调用它)所以我开始想知道这个枚举是否可行.

多谢你们

yol*_*ole 10

文档中所示,您需要使用关键字声明枚举类的namedamage属性val:

enum class Weapon(val weaponName: String, val damage: Int)
Run Code Online (Sandbox Code Playgroud)

然后你就可以简单地访问了player.weapon.weaponName.

  • 哦,是的,我不能称它为“name”,因为枚举中已经有一个“name”成员。谢谢你们的快速响应。 (2认同)