Java枚举-自定义名称

петер.петров

我想要一个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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Java枚举-自定义名称

来自分类Dev

枚举自定义对象?

来自分类Dev

自定义枚举项

来自分类Dev

用Java编写自定义异常名称的最佳方法

来自分类Dev

用Java编写自定义异常名称的最佳方法

来自分类Dev

java logback自定义记录器名称

来自分类Dev

System.Text.Json:如何为枚举值指定自定义名称?

来自分类Dev

在Groovy中将字符串转换为具有自定义名称的枚举

来自分类Dev

自定义枚举类的显示

来自分类Dev

枚举字段的自定义排序顺序

来自分类Dev

无法自定义graphql枚举的值

来自分类Dev

可编码的自定义枚举类型

来自分类Dev

Scala:如何实现自定义枚举

来自分类Dev

如何在Java的Swagger UI中显示枚举的自定义值?

来自分类Dev

对Java中的自定义枚举值反序列化json响应

来自分类Dev

如何在Java的Swagger UI中显示枚举的自定义值?

来自分类Dev

带有自定义值和 C++ 构造函数的 Java 类型枚举

来自分类Dev

如何使用带有自定义名称的Apache Commons IO在Java中复制文件?

来自分类Dev

监视服务线程的(Java 7 NIO.2)自定义名称

来自分类Dev

Python向下枚举或使用自定义步骤枚举

来自分类Dev

如何从自定义枚举中删除枚举变量标签?

来自分类Dev

Java自定义注释

来自分类Dev

自定义光标Java

来自分类Dev

自定义异常-Java

来自分类Dev

如何在java中通过用户定义的名称获取枚举?

来自分类Dev

快速设置值以在我的自定义类中枚举

来自分类Dev

如何使用自定义订单属性对枚举排序?

来自分类Dev

枚举的猫鼬模型自定义错误消息

来自分类Dev

在grails mongodb中使用自定义ID保存枚举