如何在Java中实现IN子句

Mr *_*are 2 java string comparison shorthand

今天我遇到了编写这段代码:

if("Name".equals(fieldName) || "ID".equals(fieldName) 
                 || "password".equals(fieldName) || "email".equals(fieldName)){
     //do something.
}else{
     //for other 76 properties do something.
}
Run Code Online (Sandbox Code Playgroud)

我将fieldName与四个属性进行比较,因此我写了四个条件.在Java中是否有一种方法可以将所有四个条件组合在一起并将其写为满足我要求的单一条件.例如

if(fieldName IN ("Name", "ID", "password", "email"){
    //do something. .
}
.
.
.
Run Code Online (Sandbox Code Playgroud)

有没有任何方法或解决方法来实现这一目标?

CKi*_*ing 6

您可以定义List您感兴趣的可能值,并检查列表中是否存在所需的值.

List<String> fieldValues = Arrays.asList("Name","ID","password","email");
if(fieldValues.contains(fieldName)) {

}
Run Code Online (Sandbox Code Playgroud)

一个班轮: if(Arrays.asList("Name","ID","password","email").contains(fieldName)) { }

注意不要==用于检查是否String相等.