java 为什么anyMatch的行为与空流的allMatch和noneMatch的行为不同?

vlf7wbxs  于 2022-12-10  发布在  Java
关注(0)|答案(1)|浏览(198)

Stream#anyMatch会针对空数据流传回false,而Stream#allMatchStream#noneMatch会针对空数据流传回true
为什么anyMatch的行为与allMatchnoneMatch在空流中的行为不同?

yi0zb3m4

yi0zb3m41#

Stream#anyMatch计算流元素上 predicate 的existential quantification。对于空集,存在量化始终计算为false
另一方面,Stream#allMatch会针对数据流的元素评估述词的universal quantification,而Stream#noneMatch则会针对数据流的元素评估否定述词的全称量化。全称量化在空集上永远会评估为true

相关问题