我有多个条件要检查,如下所示,
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
条件的上述条件,让代码看起来更简单?
最佳答案
让我们来看看SQL in
特点
SQL WHERE
IN
returns values that match values in a list
所以我会使用一个集合,它实现了 Collection<E>
并且有contains方法,使if
语句更简单。
contains(Object o) Returns true if this set contains the specified element.
contains
效果与 SQL in
非常相似.
1.在集合中添加你的多个条件,它从Collection<E>
开始实现
Set<String> dict = new HashSet<String>();
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
}
关于java - Java 中的 SQL IN 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50885959/