带开关的 Android 编码(字符串)

2022-01-19 00:00:00 string switch-statement android java

当我尝试一些代码时,我正在 Eclipse 上开发一个 android 应用程序

I'm developing an android app on eclipse, when I try some code like

switch(String){
 ......
}

它给了我以下错误

Cannot switch on a value of type String for source level below 1.7. Only convertible int values or enum variables are permitted

所以我将编译器更改为 1.7,然后它又给了我一个错误

so I changed the compiler to 1.7, then it give me another error

Android requires compiler compliance level 5.0 or 6.0. Found '1.7' instead. Please use Android Tools > Fix Project Properties.

那么,有没有办法让 switch(String) 在 android 应用程序中工作?或者我别无选择,只能使用

So, is there anyway to let switch(String) works in android application? or I have no choice but to use

if(){}
else if(){}
else if(){}
........

推荐答案

switch 关于String 对象的语句是Java 1.7 中引入的一个新特性.不幸的是,Android 需要 1.6 或 1.5 版本.这就是为什么你必须在一段时间内忘记这种结构.

switch statement on String objects is a new feature introduced in Java 1.7. Unfortunatelly Android requires version 1.6 or 1.5. This is why you have to forget for some time about such constructions.

您可以通过存储将为某些 String 执行的方法映射来避免使用 if-statements-chain:Map.你总是可以用一些 Handler 对象封装 Method 它.在此处查看更多信息:如何删除大型 if-else-if 链

You can avoid using if-statements-chain by storing the map of methods which will be executed for certain String: Map<String, Method>. You can always encapsulate Method it with some Handler object. Look here for more info: How to remove large if-else-if chain

why-cant-i-switch-on-a-string

相关文章