gpt4 book ai didi

java - 如何在 Java 中对同一类中的多个枚举成员使用 toString() 方法

转载 作者:行者123 更新时间:2023-12-03 01:40:09 26 4
gpt4 key购买 nike

我正在尝试为同一类中的多个枚举成员添加更多用户友好的描述。现在我只是以小写形式返回每个枚举:

public enum Part {
ROTOR, DOUBLE_SWITCH, 100_BULB, 75_BULB,
SMALL_GAUGE, LARGE_GAUGE, DRIVER;

private final String description;

Part() {
description = toString().toLowerCase();
}

Part(String description) {
this.description = description;
}

public String getDescription() {
return description;
}
}

有没有办法为每个枚举值提供一个更用户友好的名称,我可以通过每个零件成员的 toString() 显示该名称?例如,当我对零件进行交互时:

for (Part part : Part.values()) {
System.out.println(part.toString());
}

而不是获取文字列表:

ROTOR
DOUBLE_SWITCH
100_BULB
75_BULB
SMALL_GAUGE
LARGE_GAUGE
DRIVER

我希望为每个项目提供有意义的描述,以便我可以输出如下内容:

Standard Rotor
Double Switch
100 W bulb
75 W bulb
Small Gauge
Large Gauge
Torque Driver

所以我想知道是否有一种方法可以为我的 Part 枚举类中的每个枚举成员提供有意义的描述。

非常感谢

最佳答案

枚举实际上是伪装的类,被迫成为单个实例。您可以执行以下操作来为每个名称指定一个名称。您可以在构造函数中为其指定任意数量的属性。它不会影响您引用它的方式。在下面的示例中,ROTOR 将具有“这是转子”的字符串表示形式。

public enum Part {
ROTOR("This is a rotor");

private final String name;

Part(final String name) {
this.name = name;
}

@Override
public String toString() {
return name;
}
}

关于java - 如何在 Java 中对同一类中的多个枚举成员使用 toString() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1734565/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com