Java 从字符串资源切换大小写

Java 从字符串资源切换大小写,java,android,switch-statement,Java,Android,Switch Statement,我刚开始一个Android项目,我遇到了这个问题 我正在尝试创建一个开关,其中的情况是字符串得到 case getString(R.string.myString): ... 但是我有一个 Constant expression required 错误 我不想创建if语句的级联(这不需要常量值,但可读性较差),那么,有没有一种方法可以使用strings.xml文件中的字符串进行切换 谢谢你的帮助 它只是指开关情况只允许常量值 显示为什么开关仅允许常量 为此,可以使用if-else语句。不能使

我刚开始一个Android项目,我遇到了这个问题

我正在尝试创建一个开关,其中的情况是字符串得到

case getString(R.string.myString): ...
但是我有一个

Constant expression required
错误

我不想创建if语句的级联(这不需要常量值,但可读性较差),那么,有没有一种方法可以使用strings.xml文件中的字符串进行切换


谢谢你的帮助

它只是指
开关
情况只允许常量值

显示为什么开关仅允许常量


为此,可以使用
if-else
语句。

不能使用switch case。更好地使用if elseWow,我想知道我是否遗漏了什么,但这确实是不可能的。另外,感谢@faran.javed提供的链接,我用许多搜索词搜索,但仍然找不到这个问题。你不能这样做,因为
getString()
需要上下文,它在创建活动或当前上下文后找到它的值,而
case
需要常量。“每种语言都遵循这个规则。”Javascript和Typescript还允许在开关情况下使用变量值。