当前位置:   article > 正文

【Android基于JAVA8的switch报错】Constant expression required 我猜很多人都遇到了……_android studio 出现constant expression required错误

android studio 出现constant expression required错误

问题点

我猜应该很多人都遇见了switch无法使用String或者R.id.XXX报错的问题,会提示Constant expression required,虽然无法使用String,但是R.id.xxx报错的问题我这边查了个大概只能用else if

先看图

在这里插入图片描述

解决办法

其实也没什么太好的办法,看了很多帖子,最后我决定修改成if else的方法。

在这里插入图片描述

其实看过一些blog说,在Android Studio的开发工具下,可以点击Ctrl + F1,就会弹出这个弹框,然后直接换成 if,但是AS这个工具还是不够智能,没法一次性换好,最终还是需要一个一个写,没能解决switch不能使用R.id.xxx的办法,效率一定会降低,不过目前来看起码可以解决手边的问题,工作量着实有点大……很愁人。

结果

其实这个问题来源于switch语句中可使用的值类型限制为byte、short、char、int或enum类型,但是我清晰的记得,以前的某个jdk≠8版本是可以使用String等变量的,我这边测试了Oracle官网放着的8、11、17三个版本都不可以,这次虽然解决了,但是如果有哪位知道什么版本的jdk可以使用,还麻烦留言一下。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Li_阴宅/article/detail/962546
推荐阅读
相关标签
  

闽ICP备14008679号