开发者社区 问答 正文

报错 case expressions must be constant exp?报错

    case表达式里的变量的确是一个常量,但是报这个错,为什么会这样?

  

    

    希望了解的站友能说说,先谢了。

展开
收起
爱吃鱼的程序员 2020-06-09 11:15:24 460 分享 版权
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    你改成Int试试,好像case后面不支持除string之外的引用类型jdk1.7以上才支持string 换jdk

    将Integer改成int即可。

    <preclass="brush:java;toolbar:true;auto-links:false;">publicclassCaseTest{publicvoidtestCase(){intuserLevel=1;switch(userLevel){caseCaseItem.ADMINISTRATOR://TODObreak;caseCaseItem.OPERATOR:break;caseCaseItem.OBSERVER:break;}}}interfaceCaseItem{publicstaticfinalintADMINISTRATOR=1;publicstaticfinalintOPERATOR=2;publicstaticfinalintOBSERVER=3;}




    2020-06-09 11:15:39
    赞同 展开评论
问答地址: