加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java编译错误:打开枚举

发布时间:2020-12-15 04:13:23 所属栏目:Java 来源:网络整理
导读:我遇到了一个非常奇怪的错误,我无法弄清楚如何解决. 在Windows上编译得很好的项目不能在Linux上编译,但会出现以下错误: Cannot switch on a value of type AClass.Bbb. Only convertible int values,strings or enum variables are permitted ,即使所述类型
我遇到了一个非常奇怪的错误,我无法弄清楚如何解决.

在Windows上编译得很好的项目不能在Linux上编译,但会出现以下错误:

Cannot switch on a value of type AClass.Bbb. Only convertible int values,strings or enum variables are permitted

,即使所述类型是枚举.

类的代码是这样的:

public class AClass {
    private enum Bbb {
        ONE,TWO;
    }
    public void aMethod(List<Bbb> arg) {
        for (Bbb en : arg) {
            switch (en) {
                ....
            }
        }
    }
}

开关(en)中的en带有下划线,并带有上述错误通知.

还有其他人拥有它吗?有办法解决这个问题吗?

UPD Java版本:

java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01,mixed mode)

解决方法

如果您使用JDK1.7,问题应该消失.请按照以下步骤进行操作并查看

>打开项目属性
>点击“Java编译器”
>选中标记“启用项目特定设置”
>将所有下拉菜单设置为1.7
>点击确定
>清理项目以触发重建

如果你在下面,那么问题再次出现.

>打开项目属性
>点击“Java编译器”
>清除“启用项目特定设置”
>点击确定
>清理项目以触发重建(它将自动重建)

如果我执行以下操作,这就是我看到的…

>打开项目属性
>点击“Java编译器”
>单击“配置工作区设置”
>我看到“编译器合规级别”= 1.7
>我看到“使用默认合规性设置”已选中.

希望这可以帮助!!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读