我想知道是否有办法缩短这个带有".equals"的if语句,以便我可以在一行中测试,而不是多个if语句.
这是我目前冗长的代码的摘录.(这是我想缩短的)
if (queryArray[1].equals("+")) {
System.out.println("Got +");
} else if (queryArray[1].equals("-")) {
System.out.println("Got -");
} else if (queryArray[1].equals("*")) {
System.out.println("Got *");
}
Run Code Online (Sandbox Code Playgroud)
我尝试这样做(不起作用)来减少所需的行数.
if (queryArray[1].equals("+","-","*")) {
System.out.println("Got +");
}
Run Code Online (Sandbox Code Playgroud)
甚至(不起作用):
if (queryArray[1].equals("+" || "-" || "*")) {
System.out.println("Got +");
}
Run Code Online (Sandbox Code Playgroud)
另外,我知道||内部的"或"语法if statements,但是我希望在" .equals()"方法中缩短它.
有没有办法缩短这段代码?谢谢.
因为你只是做单字符的比较,你可以做一个switch上queryArray[1].charAt(0).
switch (queryArray[1].charAt(0)) {
case '+':
// plus thing
break;
case '-':
// minus thing
break
// ... and so on
}
Run Code Online (Sandbox Code Playgroud)
或者,如果您使用的是Java 7,则可以直接切换字符串.
| 归档时间: |
|
| 查看次数: |
2443 次 |
| 最近记录: |