鉴于以下列表:
List<String> list = new ArrayList<String>();
list.add("s1");
list.add("s2");
list.add(null);
list.add("s3");
list.add(null);
list.add("s4");
Run Code Online (Sandbox Code Playgroud)
我需要一个删除空引用的辅助类.就像是:
SomeHelper.removeNullReference(名单);
这样列表只包含"s1","s2","s4","s4"(非空引用).
我应该用什么来满足这个要求?
Mic*_*rdt 112
list.removeAll(Collections.singleton(null));
Run Code Online (Sandbox Code Playgroud)
Jef*_*oom 11
Java 8添加Collection.removeIf(Predicate)了删除与谓词匹配的所有元素,因此您可以null从列表(或任何集合)中删除所有出现的元素
list.removeIf(Objects::isNull);
Run Code Online (Sandbox Code Playgroud)
使用java.util.Objects.isNull作为Predicate.
.removeIf(x -> x == null)如果您愿意,也可以使用; 差别很小.