如何在grails中使用Enum(不在域类中)
发布时间:2020-12-14 16:32:51 所属栏目:大数据 来源:网络整理
导读:我想使用Enum来表示一些选择值.在/ src / groovy文件夹中,在com.test包下,我有这个枚举: package com.testpublic enum TabSelectorEnum { A(1),B(2) private final int value public int value() {return value}} 现在,我试图从控制器访问它,如: TabSelect
我想使用Enum来表示一些选择值.在/ src / groovy文件夹中,在com.test包下,我有这个枚举:
package com.test public enum TabSelectorEnum { A(1),B(2) private final int value public int 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 } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |