java - 使用 Java Stream anymatch 和过滤器进行 null 检查

标签 java java-8 java-stream

我正在使用 Stream.anymatch 来检查四个字符串中的任何一个是否为空或 null - 我们能否获取为 null 的字符串列表的句柄,作为后续逻辑检查的一部分

if(Stream.of(stringA, stringB,stringC, stringD)
        .anyMatch(field -> field == null || field.trim().isEmpty()))

最佳答案

我建议您使用 Apache Commons 库中的 StringUtils.isBlank() https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils.html

然后您可以使用临时值来存储具有空白值的对象

List<String> blank = Stream.of(stringA, stringB,stringC, stringD)
                           .filter(StringUtils::isBlank)
                           .collect(Collectors.toList());
if (blank.size() > 0) {
      // your code here
}

如果您需要在每种情况下执行不同的代码,我建议您使用多个 if(StringUtils.isBlank(stringX)){} 语句。

关于java - 使用 Java Stream anymatch 和过滤器进行 null 检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47622123/

相关文章:

java - 有人可以解释为什么该程序显示IllegalMonitorStateException吗?

java - Runnable 的线程在执行后不会被销毁

java - 如何使用特定的键和值将流分组到 map ?

Java Streams 列表将出现的索引映射为键

java - Java 8 中流的笛卡尔积作为流(仅使用流)

java - 将给定 "type"文件中的图像加载到 OpenCV Mat 中?

java - 在 SpringBoot 中将 yaml 映射到对象 hashmap

maven - ANTLR4生成的代码未编译: “cannot override reset()”

java - 如何获取 Java 8 方法引用的 MethodInfo?

java - 如何将 JsonArray 从 Gson 转换为流