我在Groovy 1.8.5中有以下代码,对我来说它看起来有效。为什么会出错?
public enum Test
{
ONE("meep"), TWO("jeep"), THREE("sheep");
Test(String n)
{
this.n = n;
}
@Delegate String n;
}
println Test.ONE[1]
println Test.TWO[0]
编辑1:
我有一些枚举对象,所以我想把它们放在枚举中。枚举的每个值代表那些对象的实例,那么为什么不将它们存储在那里呢?现在,groovy让我可以这样做,比如说Test.One.digits
而不是Test.One.n.digits
更方便。
当我尝试在eclipse中运行它时,我得到Exception in thread "main" java.lang.NoClassDefFoundError
,我将其解释为未正确编译的类。我当时没有编译器消息......我正在研究它。
编辑2:
我让脚本在这里工作...... http://gppconsole.appspot.com/script/34001 所以我认为案件已经结案,问题不在于代码。
答案 0 :(得分:1)
你得到什么错误?
public enum Test
{
ONE(1), TWO(2), THREE(3);
Test(Integer n)
{
this.n = n;
}
@Delegate Integer n;
}
println Test.ONE.n
在Groovy 1.8.6中工作......虽然我不确定在枚举中添加@Delegate
是一件好事(我需要考虑更多)......
你想要达到什么目标?