Android coding with switch (String)(带开关的 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
这篇关于带开关的 Android 编码(字符串)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:带开关的 Android 编码(字符串)
基础教程推荐
- 如何使用 Java 创建 X509 证书? 2022-01-01
- 无法使用修饰符“public final"访问 java.util.Ha 2022-01-01
- 在 Libgdx 中处理屏幕的正确方法 2022-01-01
- Java:带有char数组的println给出乱码 2022-01-01
- Java Keytool 导入证书后出错,"keytool error: java.io.FileNotFoundException &拒绝访问" 2022-01-01
- 降序排序:Java Map 2022-01-01
- FirebaseListAdapter 不推送聊天应用程序的单个项目 - Firebase-Ui 3.1 2022-01-01
- 设置 bean 时出现 Nullpointerexception 2022-01-01
- 减少 JVM 暂停时间 >1 秒使用 UseConcMarkSweepGC 2022-01-01
- “未找到匹配项"使用 matcher 的 group 方法时 2022-01-01