在Android中使用字符串作为参数切换语句

时间:2012-02-14 19:30:46

标签: java android switch-statement

我想在Java 1.7中使用switch语句,它也允许switch(someString)。但是,如果我将java编译器更改为1.7,则项目会中断,我必须返回1.5或使用android tools-> fix project

有没有办法在Android开发中使用带有字符串的开关?

3 个答案:

答案 0 :(得分:5)

修改

就我个人而言,我没有尝试,但根据Android System Requirements页面,它不受支持。也就是说,这并不意味着它不起作用,只是因为你不太可能从Google / Android那里获得关于这个主题的太多/任何帮助。

  

JDK 5或JDK 6(仅JRE是不够的)

在一个可能积极的方面,(在@Emil H及其评论的帮助下找到)我在网上找到了这些信息:

来自Dalvik on Wikipedia

  

程序通常用Java的方言编写并编译为字节码。然后将它们从与Java虚拟机兼容的.class文件转换为与Dalvik兼容的.dex(Dalvik可执行文件)文件......

如果字节码没有从版本6更改为7(不包括@David Schwartz提到的添加的invokedynamicswitch语句不应该使用。),那么它应该工作..

答案 1 :(得分:1)

你应该可以在机器人中使用JDK7。检查相关问题的答案:

https://stackoverflow.com/a/7481063/355499

编辑:

在本地尝试过,一切都可以正常使用JDK7(它是我在开发时使用的)。但是,在我的android项目中,我无法找到将合规性级别从1.6更改为1.7的方法。如果你真的想这样做,我猜你不得不通过除Eclipse之外的其他方式来构建你的项目。例如,使用蚂蚁脚本或类似物。可能会比它的价值更多的工作。

答案 2 :(得分:0)

现在不可能: 虽然在Java 1.7编译器中引入了带有String的 switch 语句,但不幸的是Android需要1.6或1.5版本。 所以我们要等。