我遇到了一个非常奇怪的错误,我不知道如何解决。
一个在 Windows 上编译得很好的项目,在 Linux 上不能编译,并出现以下错误:
无法打开 AClass.Bbb 类型的值。只允许可转换的 int 值、字符串或枚举变量,即使声明的类型是枚举。
该类的代码大致如下:
public class AClass {
private enum Bbb {
ONE,
TWO;
}
public void aMethod(List<Bbb> arg) {
for (Bbb en : arg) {
switch (en) {
....
}
}
}
}
en
in带有下划线,并带有上述switch(en)
错误通知。
其他人有过吗?有没有办法解决这个问题?
UPD Java 版本:
java版本“1.7.0_25” Java(TM) SE 运行时环境 (build 1.7.0_25-b15) Java HotSpot(TM) 64 位服务器 VM(内部版本 23.25-b01,混合模式)