Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在ArrayList中筛选空值_Java_Jpa_Arraylist_Spring Data Jpa_Jpa Criteria - Fatal编程技术网

Java 如何在ArrayList中筛选空值

Java 如何在ArrayList中筛选空值,java,jpa,arraylist,spring-data-jpa,jpa-criteria,Java,Jpa,Arraylist,Spring Data Jpa,Jpa Criteria,我有一个非常大的代码。我遇到了一个问题,在代码的一开始,null 插入arraylist custlist内部,即custlist看起来像[null]。在许多行代码之后,我对代码进行了更改,我使用custlist构建谓词,如下所示: CriteriaBuilder cb = entityManager.getCriteriaBuilder(); CriteriaQuery<Customer> q = cb.createQuery(Customer.class); Root<C

我有一个非常大的代码。我遇到了一个问题,在代码的一开始,null 插入arraylist custlist内部,即custlist看起来像[null]。在许多行代码之后,我对代码进行了更改,我使用custlist构建谓词,如下所示:

CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery<Customer> q = cb.createQuery(Customer.class);

Root<Customer> root = q.from(Customer.class);
q.select(root);
if (!CollectionUtils.isEmpty(custlist)){
Predicate predicate1 =root.get("custid").in(custlist);
}

q.where(predicate1);
TypedQuery<Customer> tq = em.createQuery(q);
List<Customer> allcust= tq.getResultList();
因此,自custlist以来的第一次检查已通过!=空&!我是空的 并建立了谓词。在执行最终查询时,这给了我一个错误。我的问题是-是否有任何方法可以确保只有在custlist不具有空值时才创建谓词。
我的问题是-就像Collectionutils.isEmpty同时检查null和emptyness一样,如果有人可以帮助我使用一些API,这些API也可以在arraylist中检查null。

这里有一个通用解决方案:

private static ArrayList<String> list = new ArrayList<String>();
public static void main(String[] args) {
    list.add("foo");
    list.add("bar");
    if (!list.isEmpty() && !list.contains(null))
        System.out.println("ok");
    list.add(null);
    if (!list.isEmpty() && !list.contains(null))
        System.out.println("not ok");
}

使用流看起来像

myList.stream().filter(x-> x!=null).collect(Collectors.toList())

最后一个问题是什么?当执行最终查询时,这给了我一个错误。从cust_表中选择*,其中custid显示错误消息,此代码不足。请添加更多代码并澄清您的问题。引发异常的最终查询是什么?一个简单而优雅的解决方案!是的,我们也可以使用这种方法
myList.stream().filter(x-> x!=null).collect(Collectors.toList())