我想将数组[]转换为ArrayList。在java中,使用更简单
new ArrayList<Element>(Arrays.asList(array))
但是,如果我想在将数组中的元素放入ArrayList之前对它们进行一些健全性检查,该怎么办。例如
new ArrayList<Element>(Arrays.asList(array,Sanity.isNotNull))
即类似于Comparator的东西,只有当第二个参数中的函数对ArrayList中的元素为true时,才在该元素中添加该元素。
我总是可以为做并自己添加元素,但Java中内置了什么吗?第二个问题:有没有办法重载addAll函数来实现上述目标?
在Java 8中,您可以执行以下操作:
new ArrayList<Element>(Arrays.asList(array).stream()
.filter(elem -> /* condition on element that returns a boolean, i.e. "elem.age > 21" */ )
).collect(Collectors.toList());