首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java中的SQL IN条件

Java中的SQL IN条件
EN

Stack Overflow用户
提问于 2018-06-16 15:40:06
回答 10查看 715关注 0票数 16

我有多个条件需要检查,如下所示:

代码语言:javascript
复制
if(pouch.getStatus().equals("Finalized") || pouch.getStatus().equals("Ready") 
  || pouch.getStatus().equals("Checkout") || pouch.getStatus().equals("Confirmed")
  || pouch.getStatus().equals("Book") || pouch.getStatus().equals("Started")
  || pouch.getStatus().equals("Inital") || pouch.getStatus().equals("Close")) {
        // Body Implementation
}

有没有什么简单的方法可以检查类似于SQL IN条件的上述条件,使代码看起来更简单?

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2018-08-29 15:27:35

您可以使用String类中提供的matches方法。

代码语言:javascript
复制
if(pouch.getStatus().matches("Finalized|Ready|Checkout|Confirmed|Book|Started|Inital|Close")){
   //your implementation goes here
}
票数 6
EN

Stack Overflow用户

发布于 2018-06-16 15:46:57

代码语言:javascript
复制
List<String> listOfInputs = new ArrayList<String>();
// add elements in listOfInputs...  
boolean isAvailable = listOfInputs.contains(pouch.getStatus());
票数 5
EN

Stack Overflow用户

发布于 2018-06-16 15:48:06

您可以创建自定义函数:

代码语言:javascript
复制
static boolean inCondition(String var, String... ins) {
    for (String in : ins) {
        if (in.equals(var)) return true;
    }

    return false;
}

然后这样使用它:

代码语言:javascript
复制
public static void main(String[] args) {
    String pouch = "Ready";
    if (inCondition(pouch, "Finalized", "Ready", "Checkout" ... )) {
        // do something
    }
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50885959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档