带开关的 Android 编码(字符串)
当我尝试一些代码时,我正在 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
相关文章