当前位置: 首页 > 知识库问答 >
问题:

如何解决IllegalArgumentException:Java中没有枚举常数ClientRequest.TwonumberSenum.1?

印瑾瑜
2023-03-14
public static enum TwoNumbersEnum {
    _1("1"),
    _0("0");
theClient.setTwoNumbers(ClientRequest
        .TwoNumbersEnum.valueOf("1"));

当我尝试设置它时,我得到:

java.lang.IllegalArgumentException: No enum constant com.dgs.ClientRequest.TwoNumbersEnum.1

我怎样才能解决这个问题?我想这个问题只针对数字。提前感谢!

共有1个答案

锺宜
2023-03-14

Javaenum.valueOf用于从字符串返回枚举常数。您使用了Twonumbersenum.valueOf(“1”),并且没有常量名称“1”的枚举(不可能,因为它是一个数字。)

您必须像twonumbersenum.valueOf(“_1”)那样调用它。

可以在枚举定义中编写access方法,直接访问它的值。如下所示

public static enum TwoNumbersEnum {
        
        _1("1"),
        _0("0");
        private final String value;
        private TwoNumbersEnum(String val) {
            this.value = val;
        }
        public String value() {
            return this.value;
        }
        
    }
 类似资料:
  • 我正在尝试在EC2上运行模式注册表,我的kafka正在AWS上运行。 这是我的属性文件 当我运行这个我得到下面的错误 我已经改变了它TSL,明文和没有两者,但都是抛出错误。我也有从 EC2 到 MSK 的连接。 阿帕奇Kafka版 汇合 即使我没有提到经纪人网址,我也会得到同样的错误 根据答案更新问题 当没有提到连接url时 提到< code>CLIENT://或< code>CLIENT_SEC

  • 这里Java初学者, 我试图用Spring定义我的模型来访问Mongodb数据库中的数据。 我想将性别定义为一个枚举,在数据库中,值存储为字符串:或 但我得到以下错误: 这是我的图POJO: 这是我的性别枚举: 这就是我尝试访问它的方式: @Override public void run(String…args)抛出异常{Optional chronos=figureposition.findB

  • 问题内容: 我无法使用从常量中获取的枚举作为注释中的参数。我收到此编译错误:“注释属性[attribute]的值必须是枚举常量表达式”。 这是枚举代码的简化版本: 对于注释: 和班级: 该错误仅在方法B的“ theEnum = MYENUM_CONSTANT”中显示。字符串和int常量对于编译器是可以的,但Enum常量不是,即使它的值与methodA上的值完全相同。在我看来,这是编译器中缺少的功能

  • 问题内容: 通过阅读SCJP书籍,我在第1章“自测”中发现了类似的内容: 注意:代码编译正常。我不明白的是为什么我们可以从变量访问DOG,CAT或FISH常量。我认为(并且也写在书中)DOG,FISH,CAT是常量,其实现方式类似于。 所以,如果它们确实是静态的,为什么我们可以从中访问它们呢?最后一行是我熟悉的方式。 问题答案: 写作 和写作一样。也就是说,编译器将用其编译时类型Animal替换变

  • 问题内容: 例如,我该怎么做: 结果示例: 问题答案: 迅捷4.2+ 从Swift 4.2(使用Xcode 10)开始,只需添加协议一致性即可从中受益。要添加此协议一致性,您只需要在某处写: 如果枚举是您自己的,则可以直接在声明中指定一致性: 然后,以下代码将打印所有可能的值: 与早期Swift版本(3.x和4.x)的兼容性 如果您需要支持Swift 3.x或4.0,则可以通过添加以下代码来模仿S