我目前正在开展grails项目。我创建了一个位于某个项目文件夹的枚举,并希望从位于另一个项目文件夹的类中访问它。 我的枚举看起来像这样:
public enum Options {
OPTION_1("Option_1"),
OPTION_2("Option_2"),
OPTION_3("Option_3");
final String option;
Options(String option) {
this.option = option;
}
}
现在,我在应用程序中从某个类调用枚举时出现问题。例如:
Response{
option = new Option.OPTION_1("Option_1") //not sure on how to call an enum
}
但我想在这里做的是将枚举分配给Response {}部分中的属性选项..
我将如何正确地做到这一点? 请帮忙? 感谢。
答案 0 :(得分:7)
枚举是预定义的对象,它将具有私有构造函数,您无法使用new创建新实例。您只需要调用Option.OPTION_1;
Response{
option = Option.OPTION_1;
}
答案 1 :(得分:4)
您只需将其引用为Options.OPTION_1
,枚举上没有新内容。
Option option = Options.OPTION_1;
答案 2 :(得分:4)
您无法实例化枚举对象,您在枚举类中定义的唯一实例。
所以正确的方法是:
Response {
option = Options.OPTION_1;
}
答案 3 :(得分:2)
您无法创建枚举的新实例。没有必要因为它只能容纳固定数量的值。所以option = new Option.OPTION_1("Option_1")
会这样做。
答案 4 :(得分:1)
答案 5 :(得分:1)
不知道这里的grails部分,但您对enum
的使用似乎不正确
如果你有一个枚举
public enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
THURSDAY, FRIDAY, SATURDAY
}
您可以使用Day.MONDAY
,Day.SUNDAY
等
请查看java doc。