Я хочу использовать Перечисление для представления некоторых значений выбора. В /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)
Кажется, что существует что-то не так в способе получить доступ к значению Перечисления, но я не знаю что.
Вы не определили конструктор для значения int:
package com.test
enum TabSelectorEnum {
A(1),
B(2)
private final int value
private TabSelectorEnum(int value) {
this.value = value
}
int value() { value }
}