【发布时间】:2015-05-02 19:35:51
【问题描述】:
我遇到了一个非常奇怪的错误,我不知道如何解决。
在 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) {
....
}
}
}
}
switch(en) 中的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,混合模式)【问题讨论】:
-
这些机器上的Java版本怎么样?
-
错误表示
Aaa.Bbb类型的值。是拼写错误,还是您导入了不同的 Bbb? -
检查你的导入,你为 Bbb 使用了错误的导入,Bbb 不应该在你的导入列表中。
-
@trogdor 打错了,我会改正的
-
@Juvanis 在帖子中添加了 java 版本信息。