我想要一个Java枚举,其值是整数。
例如:
public enum TaskStatus {
TaskCreated(1),
TaskDeleted(2)
}
但是我也想要这两个常量的自定义名称,
例如“ Task Created”和“ Task Deleted”(那里有空格)。
我想尽可能优雅地做到这一点,而无需编写
太多额外的代码。
我可以在没有其他
将枚举常量映射到其自定义名称的映射的情况下实现此目标吗?
我在这个项目中使用JDK 6。
只需为此添加一个字段:
public enum TaskStatus {
TaskCreated(1, "Task Created"),
TaskDeleted(2, "Task Deleted");
private final int value;
private final String description;
private TaskStatus(int value, String description) {
this.value = value;
this.description = description;
}
// Getters etc
// Consider overriding toString to return the description
}
如果您不想指定字符串,而只想在每个大写字母前添加一个空格,那也是可行的-但我个人还是会坚持使用上述方法,以实现简单性和灵活性。(它将说明与标识符分开。)
当然,如果要使用i18n,则可能应该只将枚举值名称用作资源文件的键。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句