如何在java中为多个元素使用equalsIgnoreCase()

PSR*_*PSR 3 java

if(string.equalsIgnoreCase("first") || 
string.equalsIgnoreCase("second") || string.equalsIgnoreCase("third"))
Run Code Online (Sandbox Code Playgroud)

我需要在||这里使用10 (我有10个字符串来检查).有没有任何简单的解决方案.

我需要找到满足的条件.

提前致谢..

Bat*_*eba 7

您可以使用string.matches()哪个采用正则表达式,您可以强制执行第一,第二个等等:

if (string.matches("first|second|third"))
Run Code Online (Sandbox Code Playgroud)

或者,对于不区分大小写:

if (string.matches("(?i)first|second|third"))
Run Code Online (Sandbox Code Playgroud)

正则表达式很复杂,但可能是性能问题.


Djo*_*jon 6

如果您需要知道哪个匹配为true,则使用开关(仅限Java 7):

switch (string.toLowerCase())
{
    case "first": doSomething();
        break;
    case "second": ...;
        break;
    default: ...;
}
Run Code Online (Sandbox Code Playgroud)