热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Java中的SQLIN条件

如何解决《Java中的SQLIN条件》经验,为你挑选了4个好方法。

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

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
}

是否有任何简单的方法来检查类似SQL IN条件的上述条件,以便代码看起来更简单?



1> D-Shih..:

我们来看看SQL in功能

SQL WHERE IN返回与列表中的值匹配的值


所以我会使用一个集合,它实现from Collection并包含方法,使if语句更简单.

contains(Object o)如果此set包含指定的元素,则返回true.

contains效果与SQL非常相似in.


1.在集合中添加多个条件,从中实现 Collection

Set dict = new HashSet();
dict.add("Finalized");
dict.add("Ready");
dict.add("Checkout");
dict.add("Confirmed");
dict.add("Book");
dict.add("Started");
dict.add("Inital");
dict.add("Close");

2. contains检查输入值是否存在于集合中.

if (dict.contains(pouch.getStatus()))
{
     // do your logic
}



2> Praveen..:

您可以使用课堂matches上提供的方法String,

if(pouch.getStatus().matches("Finalized|Ready|Checkout|Confirmed|Book|Started|Inital|Close")){
   //your implementation goes here
}



3> raviraja..:
List listOfInputs = new ArrayList();
// add elements in listOfInputs...  
boolean isAvailable = listOfInputs.contains(pouch.getStatus());



4> 小智..:

SQL IN可能会返回多个结果,但在您的问题中,如果满足一个条件,则操作将终止并返回.

您可以创建一个枚举来保存所有条件,如下所示.

假设您的Pouch类是这样的.

public class Pouch {

    private final String status;

    public Pouch(final String status) {
        this.status = status;
    }

    public String getStatus() {
        return status;
    }
}

这是你的包含状态的枚举.

public enum  PouchEnum {
   Finalized, Ready, Checkout, Confirmed, Book, Started, Inital, Close
}

并检查您的状况,如下所示.

if (PouchEnum.valueOf(pouch.getStatus()) != null) {
        // Do some stuff
}

为了使它更干净,你可以使用apache commons-lang3中的EnumUtils,这样可以使代码检查更加清晰,如下所示.

if (EnumUtils.isValidEnum(PouchEnum.class, pouch.getStatus())) {
        // Do some stuff
}

我希望这将有助于您的代码更清洁.


推荐阅读
author-avatar
Jean_香香
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有