Java Stream noneMatch()方法详解

IT 文章2年前 (2023)发布 小编
0 0 0

Java Stream的noneMatch()方法是一个短路终端操作。noneMatch()用于检查流中是否包含与提供的断言相匹配的任何元素。

1.Stream noneMatch() 方法

1.1语法

boolean noneMatch(Predicate<? super T> predicate)

noneMatch()返回:

  • true – 表示流中没有元素与给定的断言匹配,或者流为空。
  • false – 表示至少有一个元素与给定的断言匹配。

这里的断言是对流中元素应用的一个非干扰性且无状态的断言。

ad

程序员导航

优网导航旗下整合全网优质开发资源,一站式IT编程学习与工具大全网站

这是一个短路操作。如果面对无限输入,终端操作可能会在有限时间内终止,那么它就是一个短路操作。

1.2 描述

  • noneMatch()是一个短路终端操作。
  • 它返回流中是否有任何元素与提供的断言匹配。
  • 如果没有必要确定结果,它可能不会对所有元素求值。如果没有流元素与给定断言匹配,则方法返回true,否则返回false。
  • 如果流为空,则返回true,并且断言不会被求值。
  • 这与allMatch()方法几乎相反。

3.Stream noneMatch() 示例

以下是Java中一个noneMatch()方法的示例,用于检查流中是否没有任何元素包含数字/数字字符。

public class Main
{
	public static void main(String[] args)
	{
		Stream<String> stream = Stream.of("one", "two", "three", "four");

		boolean match = stream.noneMatch( s -> s.contains("\\d+") );

		System.out.println(match);	//true
	}
}

4.结论

在某些情况下,我们需要在所有流元素上运行一个检查,Stream.noneMatch()方法可能是有用的。例如,我们可以在Employee对象的流上使用noneMatch()函数来验证所有员工年龄均不低于某个年龄。

© 版权声明

相关文章

暂无评论

暂无评论...