切换字符串语句

时间:2013-12-29 20:05:55

标签: java android switch-statement

我正在尝试在Android应用中使用switch语句。这个switch语句正在测试String的值,然后根据更改另一个String的值。

String s1 =“a” 然后 字符串s2 =“1”

我不断收到错误消息,说我需要将合规性更改为1.7。在我这样做之后,我得到一个错误,说我需要将合规性更改为1.6。

有没有办法解决这个问题?或者任何人都可以想到解决这个问题?

4 个答案:

答案 0 :(得分:6)

Java不支持早期java 7中的字符串中的字符串。但是如果使用java 6,则可以通过使用枚举来实现所需的结果。

private enum Fruit {
apple, carrot, mango, orange;
}

String value; // assume input
Fruit fruit = Fruit.valueOf(value); // surround with try/catch

switch(fruit) {
    case apple:
        method1;
        break;
    case carrot:
        method2;
        break;
    // etc...
}

答案 1 :(得分:1)

使用与equals()的字符串比较而不是在字符串上打开(在Java 7中可用)可能如下所示:

//as an example, if s2 equals 'b'
String s2 = "b";

//this uses String's equals() method
if (s1.equals("a")) then {
    s2 = "1";
}
else if (s1.equals("b")) then {
    s2 = "2";
}
else {
    s2 = "3";
} 

当然,根据您的需要调整条件。

答案 2 :(得分:0)

不要使用switch case,而是使用if-else和string equals()方法。它将有助于代码兼容性,因为带字符串的开关仅适用于jdk 1.7 +。

答案 3 :(得分:0)

如果是maven项目,则需要在pom.xml中添加以下代码。

  <properties>
    <maven.compiler.target>1.8</maven.compiler.target>
    <maven.compiler.source>1.8</maven.compiler.source>
  </properties>