我想使用 or 运算符检查具有多个值的字符串,这可能吗?
like if(str.equals("A" || "B" || "C")){
//do this
}
else if(str.equals("D" || "E" || "F")){
//do that
}
我在编译时遇到错误,|| 不能在字符串中使用
我想使用 or 运算符检查具有多个值的字符串,这可能吗?
like if(str.equals("A" || "B" || "C")){
//do this
}
else if(str.equals("D" || "E" || "F")){
//do that
}
我在编译时遇到错误,|| 不能在字符串中使用
if(str.equals("A") || str.equals("B") || str.equals("C")){ .... }
你必须分开你的条件。
在这种情况下你不需要 a OR
:你可以像这样编写相同的条件:
if (Arrays.asList("A", "B", "C").contains(str)) {
...
}
当测试字符串str
包含在对 的调用中指定的列表中时,此测试成功,该列表asList
方便地采用可变数量的参数。
您还可以switch
在 Java 7 中使用 a:
switch (str) {
case "A":
case "B":
case "C":
// do this
break;
case "D":
case "E":
case "F":
// do that
break;
}
如果您有许多要比较的字符串,这可能更具可读性。switch
有关参考,请参阅语句教程的“在 switch 语句中使用字符串”部分。