Stream#anyMatch会针对空数据流传回false,而Stream#allMatch和Stream#noneMatch会针对空数据流传回true。为什么anyMatch的行为与allMatch和noneMatch在空流中的行为不同?
Stream#anyMatch
false
Stream#allMatch
Stream#noneMatch
true
anyMatch
allMatch
noneMatch
yi0zb3m41#
Stream#anyMatch计算流元素上 predicate 的existential quantification。对于空集,存在量化始终计算为false。另一方面,Stream#allMatch会针对数据流的元素评估述词的universal quantification,而Stream#noneMatch则会针对数据流的元素评估否定述词的全称量化。全称量化在空集上永远会评估为true。
1条答案
按热度按时间yi0zb3m41#
Stream#anyMatch
计算流元素上 predicate 的existential quantification。对于空集,存在量化始终计算为false
。另一方面,
Stream#allMatch
会针对数据流的元素评估述词的universal quantification,而Stream#noneMatch
则会针对数据流的元素评估否定述词的全称量化。全称量化在空集上永远会评估为true
。