Android 2.1切换循环JRE 1.7



你好,如何在我的android项目中使用switch循环?我想使用Android 2.1

我需要JRE 1.7,但我想使用Android 2.1

我使用这样的循环:

switch ((CHAR[Math.abs(intGen.nextInt()%2)])) {
    case "+":
        result = random2 + random3;
        break;
    case "-":
        result = random2 + random3;
        break;
} 

LogCat:

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

简单地说:现在没有办法做到这一点,Android SDK不是Oracle JDK。并非所有功能都受支持,并且AFAIK String对switch语句的支持不在受支持的功能之列。

恐怕你一直在使用旧的equals:

if(myString.equals("+")){
 result = random2 + random3;
}
else if (myString.equals("-"))
 result = random2 - random3;
)

您不能。android仅限jre6。你需要换一种方式。一个简单的方法是让CHAR实际上是可切换的字符。

陷入同一个问题,将开关情况更改为if else解决了问题。java1.7之前的switchcase支持基元类型(boolean、char、short、byte、int)&enums,在java1.7中引入了对Strings的切换。另一种方法是将switch(String)更改为switch(int)。

最新更新