Why don't my groovy enums work, or even compile?
I'm running Groovy Version: 1.7.0 JVM: 1.6.0_17
(Update -- I jus开发者_如何转开发t upgraded to 1.7.1 and get the same errors!)
I've tried to use enums, using the exact syntax from the groovy documentation, and each time I see the compile error:
Groovy:The class java.lang.Enum refers to the class java.lang.Enum and uses 1 parameters, but the referred class takes no parameters
Any ideas on what's going on?
For example: This code won't compile or run, and gets the error above.
enum VehicleStatus { OFF, IDLING, ACCELERATING, DECELARATING }
class Vehicle
{
Long id
Long version
VehicleStatus status
}
This may be an error with the Netbeans IDE: http://netbeans.org/bugzilla/show_bug.cgi?id=189275
I've found that, after running Clean, the error persists in the editor, but does not actually cause a problem at runtime.
Works for me.
See http://groovyconsole.appspot.com/script/79003
I just tried this. I receive the same error as you if the only code in the script is the same as yours. However, it goes away once you add the line
def a = new Vehicle(id: 1, version: 0, status: VehicleStatus.IDLING)
I'm using Groovy 1.7.1 as well and executing the script from within Netbeans 6.8.
精彩评论