对于如何在 Java 中过滤数组中的空值,本文提供了两种常用方法:使用 Guava 库:需要依赖 Guava,但更简单、高效。使用 Java 8 流:不需要外部依赖项,但略慢。

如何在 Java 中过滤数组中的空值
Java 中过滤数组中空值的方法有多种,本文将介绍两种最常用的方法。
方法 1:使用 Guava 库
- 优点:简单、高效。
- 缺点:需要引入 Guava 依赖项。
步骤:
立即学习“Java免费学习笔记(深入)”;
- 导入 Guava 库:
import com.google.common.base.Predicates; - 使用
filter()方法过滤空值:
ListlistWithEmptyValues = Arrays.asList("foo", null, "bar", null, "baz"); List listWithoutEmptyValues = Lists.newArrayList(Iterables.filter(listWithEmptyValues, Predicates.notNull()));
方法 2:使用 Java 8 流
- 优点:适用于 Java 8 及更高版本,无需引入外部依赖项。
- 缺点:比 Guava 库方法稍慢。
步骤:
立即学习“Java免费学习笔记(深入)”;
- 将数组转换为流:
Streamstream = Arrays.stream(array); - 使用
filter()方法过滤空值:stream = stream.filter(Objects::nonNull); - 将流转换为新数组:
String[] arrayWithoutEmptyValues = stream.toArray(String[]::new);
效率比较
一般来说,Guava 库的方法比 Java 8 流方法更有效率。但是,如果数组非常大或过滤操作非常频繁,那么 Java 8 流方法可能更适合。











