文
章
目
录
章
目
录
Java Stream的noneMatch()方法是一个短路终端操作。noneMatch()用于检查流中是否包含与提供的断言相匹配的任何元素。
1.Stream noneMatch() 方法
1.1语法
boolean noneMatch(Predicate<? super T> predicate)
noneMatch()返回:
- true – 表示流中没有元素与给定的断言匹配,或者流为空。
- false – 表示至少有一个元素与给定的断言匹配。
这里的断言是对流中元素应用的一个非干扰性且无状态的断言。
这是一个短路操作。如果面对无限输入,终端操作可能会在有限时间内终止,那么它就是一个短路操作。
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()函数来验证所有员工年龄均不低于某个年龄。