Groovy   发布时间:2022-04-12  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何在grails中使用Enum(不在域类中)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想使用Enum来表示一些选择值.在/ src / groovy文件夹中,在com.test包下,我有这个枚举:

package com.test

public  enum TabSELEctorEnum {
  A(1),B(2)

  private final int value
  publi@R_673_8592@ value() {return value}

}

现在,我试图从控制器访问它,如:

TabSELEctorEnum.b.value()

但它引发了一个例外:

Caused by: org.codehaus.groovy.runtime.InvokerInvocationException: java.lang.NoClassDefFoundError: Could not initialize class com.test.TabSELEctorEnum

我究竟做错了什么?

更新:清理并重新编译后,错误代码更改为:

groovy.lang.GroovyRuntimeException: Could not find matching constructor for: com.test.TabSELEctorEnum(java.lang.String,java.lang.Integer,java.lang.Integer)

在访问Enum的价值方面似乎有些不对劲,但我不知道是什么.

解决方法

您没有为int值定义构造函数

package com.test

enum TabSELEctorEnum {
   A(1),B(2)

   private final int value

   private TabSELEctorEnum(int value) {
      this.value = value
   }

   int value() { value }
}

大佬总结

以上是大佬教程为你收集整理的如何在grails中使用Enum(不在域类中)全部内容,希望文章能够帮你解决如何在grails中使用Enum(不在域类中)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。