Java 包含与 anyMatch 行为
因此,如果我有一个对象并且有一个类型(),并且我想确定我的名字列表是否包含给定的对象(),我可以通过两种方式做到这一点:Name
ArrayList
Name
names
Name
n
boolean exists = names.contains(n);
或
boolean exists = names.stream().anyMatch(x -> x.equals(n));
我正在考虑这两者是否会表现得一样,然后想着如果分配了n会发生什么?null
对于包含,据我所知,如果参数是 ,那么如果列表包含 ,则返回。我将如何实现这一点 - 会通过使用吗?null
true
null
anyMatch
Objects.equals(x, n)
如果这就是它的工作原理,那么哪种方法更有效 - 因为它可以利用懒惰和并行性吗?anyMatch