我有一个字符串变量,str有可能值val1,val2和val3。
str
val1
val2
val3
我想str使用if语句将所有这些值进行比较(大小写相等),例如:
if("val1".equalsIgnoreCase(str)||"val2".equalsIgnoreCase(str)||"val3.equalsIgnoreCase(str)) { //remaining code }
有没有一种方法可以避免使用多个OR(||)运算符并在一个表达式中比较值?例如,像这样:
if(("val1" OR "val2" OR "val3").equalsIgnoreCase(str) //this is only an idea.
我找到了更好的解决方案。这可以通过RegEx实现:
if (str.matches("val1|val2|val3")) { // remaining code }
对于不区分大小写的匹配:
if (str.matches("(?i)val1|val2|val3")) { // remaining code }