字符串的切换语句

问题描述 投票:1回答:4

我正在尝试在Android应用程序中使用switch语句。此switch语句正在测试String的值,然后基于该值更改另一个String的值。

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

我不断收到错误消息,提示我需要将符合性更改为1.7。完成此操作后,我得到一个错误,提示我需要将符合性更改为1.6。

是否有解决此问题的方法?还是有人可以考虑解决此问题?

java android switch-statement
4个回答
7
投票

Java在switch / case早期的Java 7中不支持String。但是,如果您使用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
投票

使用带有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";
} 

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


0
投票

不使用切换大小写,而是将if-else与字符串equals()方法一起使用。它将有助于代码兼容性,因为仅在jdk 1.7及更高版本中才可以使用带字符串的开关。


0
投票

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

  <properties>
    <maven.compiler.target>1.8</maven.compiler.target>
    <maven.compiler.source>1.8</maven.compiler.source>
  </properties>
© www.soinside.com 2019 - 2024. All rights reserved.