den*_*chr 2 java enums tostring
我正在尝试为同一个类中的多个枚举成员添加更多用户友好的描述.现在我只让每个枚举以小写形式返回:
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;
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法给每个枚举值一个更加用户友好的名称,我可以通过toString()为每个Part成员显示?例如,当我对部件进行交互时:
for (Part part : Part.values()) {
System.out.println(part.toString());
}
Run Code Online (Sandbox Code Playgroud)
而不是获得文字列表:
ROTOR
DOUBLE_SWITCH
100_BULB
75_BULB
SMALL_GAUGE
LARGE_GAUGE
DRIVER
Run Code Online (Sandbox Code Playgroud)
我希望对每个项目给出有意义的描述,这样我就可以输出如下内容:
Standard Rotor
Double Switch
100 W bulb
75 W bulb
Small Gauge
Large Gauge
Torque Driver
Run Code Online (Sandbox Code Playgroud)
所以我想知道是否有办法为我的Part枚举类中的每个枚举成员提供有意义的描述.
非常感谢
枚举实际上是伪装的类,被迫成为单个实例.您可以执行以下操作,为每个人命名.你可以在构造函数中给它任意数量的属性.它不会影响您的引用方式.在下面的示例中,ROTOR将具有"This is a 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;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3540 次 |
| 最近记录: |