为什么我的常规枚举不起作用,甚至不能编译?

时间:2010-03-07 04:27:46

标签: groovy enums

我正在运行Groovy版本:1.7.0 JVM:1.6.0_17

(更新 - 我刚升级到1.7.1并得到相同的错误!)

我尝试使用枚举,使用groovy文档中的确切语法,每次看到编译错误:

Groovy:The class java.lang.Enum refers to the class java.lang.Enum and uses 1 parameters, but the referred class takes no parameters

有关正在发生的事情的任何想法?

例如:此代码不会编译或运行,并且会收到上述错误。

enum VehicleStatus { OFF, IDLING, ACCELERATING, DECELARATING }

class Vehicle
{
    Long id
    Long version
    VehicleStatus status
}

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

这可能是Netbeans IDE的错误:http://netbeans.org/bugzilla/show_bug.cgi?id=189275

我发现在运行Clean之后,错误在编辑器中仍然存在,但实际上并没有在运行时引起问题。

答案 2 :(得分:0)

我刚试过这个。如果脚本中的唯一代码与您的相同,我会收到与您相同的错误。但是,一旦添加了行

,它就会消失
def a = new Vehicle(id: 1, version: 0, status: VehicleStatus.IDLING) 

我也在使用Groovy 1.7.1并在Netbeans 6.8中执行脚本。