当前位置: 首页 > 面试题库 >

在一个表达式中将一个字符串与多个值进行比较

党俊健
2023-03-14
问题内容

我有一个字符串变量,str有可能值val1val2val3

我想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
}


 类似资料: