我定义了一个Groovy类,Vehicles.groovy其中包含一些内部枚举:
public class Vehicles {
public enum Land {
BICYCLE,
CAR,
TRAIN
}
public enum Water {
SAILBOAT,
MOTORBOAT
}
public enum Air {
JET,
HELICOPTER
}
}
Run Code Online (Sandbox Code Playgroud)
我想run.groovy在与相同目录下的脚本中引用这些枚举Vehicles.groovy。
完全限定枚举实例有效。
import Vehicles
println Vehicles.Land.BICYCLE
Run Code Online (Sandbox Code Playgroud)
要么
import static Vehicles.Land
println Vehicles.Land.BICYCLE
Run Code Online (Sandbox Code Playgroud)
要么
import Vehicles.Land.*
println Vehicles.Land.BICYCLE
Run Code Online (Sandbox Code Playgroud)
正确打印BICYCLE。
但是,我想在Land不完全限定枚举的情况下引用该枚举。
我基本上尝试了静态/非静态,别名/非别名和星号/非星号导入的每种组合。
import Vehicles.Land或import static Vehicles.Land.*(或import Vehicles.Land as Land)给出unable to resolve class错误。这似乎很奇怪,因为它们就是Java中要执行的操作(如果我输入错了,请纠正我。)
如果我尝试
import static Vehicles.Land
println …Run Code Online (Sandbox Code Playgroud)