一尘不染

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

java

当我尝试一些类似的代码时,我正在eclipse上开发一个android应用

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,这给了我另一个错误

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

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

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

阅读 209

收藏
2020-09-08

共1个答案

一尘不染

switch``String对象声明是Java1.7中引入的新功能。不幸的是,Android需要版本1.6或1.5。这就是为什么您不得不忘记一段时间的这种构造的原因。

就可以避免通过存储的,这将对于某些被执行的方法的地图使用if语句链StringMap<String, Method>。您总是Method可以用某些Handler对象封装它。

2020-09-08