Groovy枚举失败

时间:2019-05-13 01:40:39

标签: groovy enums

我在Groovy中声明了一个简单的枚举,在Java中完全有效。我收到一个错误

原因:groovy.lang.GroovyRuntimeException:找不到与以下对象匹配的构造函数:AdmixtureProperties(String,Integer,LinkedHashMap)

这是枚举

 @ToString
   enum AdmixtureProperties {
     SVALUE(prop:"1", num: 1),
     PVALUE(prop:"5", num: 3);
     private String prop
     private int num
     AdmixtureProperties(String prop, int num){
      this.prop=prop
      this.num=num
    }
}

1 个答案:

答案 0 :(得分:1)

  

我在Groovy中声明了一个简单的枚举,在Java中完全有效。

由于多种原因,这在Java中不是有效的枚举

  • 语句末尾缺少分号
  • 不受支持的构造函数调用语法SVALUE(prop:"1", num: 1)

要使此有效的Groovy代码有效,请修复构造函数调用,即替换为:

SVALUE(prop:"1", num: 1),
PVALUE(prop:"5", num: 3);

使用

SVALUE("1", 1)
PVALUE("5", 3)