赞
踩
我猜应该很多人都遇见了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可以使用,还麻烦留言一下。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。