帮助程序删除 Java 列表中的空引用?

2022-09-01 01:12:35

给定以下列表:

List<String> list = new ArrayList<String>();

list.add("s1");
list.add("s2");
list.add(null);
list.add("s3");
list.add(null);
list.add("s4");

我需要一个删除空引用的帮助器类。像这样:

SomeHelper.removeNullReference(list);

使得列表仅包含“s1”,“s2”,“s4”,“s4”(非空引用)。

我应该使用什么来满足此要求?


答案 1
list.removeAll(Collections.singleton(null));

答案 2

Java 8 添加了 Collection.removeIf(谓词),该参数将删除与谓词匹配的所有元素,因此您可以从列表(或任何集合)中删除所有匹配项null

list.removeIf(Objects::isNull);

使用 java.util.Objects.isNull 作为 .Predicate

如果您愿意,也可以使用;差异非常小.removeIf(x -> x == null)