【问题标题】:Java enums insert valuesJava 枚举插入值
【发布时间】:2018-10-21 13:57:47
【问题描述】:

我有一个如下创建的枚举

public enum CustomData {

    SHOW_VAL("","");

    private final String valCode;
    private final String valD;  

    CustomData(String valCode, String valD){
        this.valCode = valCode;
        this.valD = valD;
    }

    public String getvalCode() {
        return this.valCode;
    }

    public String getvalD() {
        return this.valD;
    }   
}

我使用枚举自定义数据抛出异常。现在,我可以创建多个静态类型,如SHOW_VAL("TEXT","DESC"),但我想在运行时将文本放入其中,当任何错误发生时。

在上面的代码中,如何通过上面定义的构造函数在其他类中插入值?

【问题讨论】:

  • 您无法在 java 中捕获 错误。你的意思是例外吗?
  • 为什么你需要enum 进行简单的课程?
  • 你怎么称呼它?你不能把exception.getXXX() 传递给你的枚举吗?
  • 如果不能在构造函数中设置值,则需要在构造后设置。

标签: java enums


【解决方案1】:

枚举是一个编译时间常数,您不能在运行时使用常规语言功能创建新的。根据Enum Type docs:

您应该在需要表示一组固定常量的任何时候使用枚举类型。这包括自然枚举类型,例如我们太阳系中的行星和您在编译时知道所有可能值的数据集——例如,菜单上的选项、命令行标志等等。

使用常规 class 作为运行时值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-27
    • 2010-12-10
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多