永远在Groovy循环中的枚举中枚举,为什么?
假设以下代码:永远在Groovy循环中的枚举中枚举,为什么?,groovy,enums,Groovy,Enums,假设以下代码: enum Color { RED, GREEN, BLUE enum Type { RGBA, RGB, BGR } String getHex() { //something here return "#F00" } Type getType() { //something here return Typ
enum Color {
RED,
GREEN,
BLUE
enum Type {
RGBA,
RGB,
BGR
}
String getHex() {
//something here
return "#F00"
}
Type getType() {
//something here
return Type.RGB
}
}
println Color.RED.type.name()
我认为嵌套的enum
是可能的,但是如果您尝试使用groovy(使用2.4.13)运行这段代码,它似乎会永远循环,并且永远不会执行或编译它
如果我将enumType
放在外部,它可以正常工作
为什么会这样?是否有任何参考资料可以解释它失败的原因?这是一个已知的错误
如果您使用Groovy 2.6+中可选的、Groovy 3中默认启用的新“parrot”解析器,则此问题已得到修复。parrot是否仅在2.6中可用(默认情况下关闭)?很高兴知道。谢谢