gpt4 book ai didi

java - 检查集合是否包含对象,按引用进行比较

转载 作者:IT老高 更新时间:2023-10-28 21:14:21 25 4
gpt4 key购买 nike

Collection.contains()方法检查集合是否包含给定对象,使用 .equals() 方法执行比较。

来自 Java7 Javadoc:

boolean contains(Object o)

Returns true if this collection contains the specified element. More formally, returns true if and only if this collection contains at least one element e such that (o==null ? e==null : o.equals(e)).

有没有一种聪明的方法来检查一个集合是否包含一个对象 o,但是通过引用进行比较(即 o==e)?

当然,我可以遍历集合并进行检查,我正在寻找可以做到这一点的现有函数。

说明:

  • 我想执行这个操作不管集合中对象的equals()实现。
  • 我不想更改集合中的对象或集合本身。

编辑:

即使我的问题是关于 Collection 实现的一般解决方案,Collection 子接口(interface)的特定情况也将不胜感激。

最佳答案

对于我们这些使用 Java 8 的人,Collection#stream()是一个干净的选择:

collection.stream().anyMatch(x -> x == key)

关于java - 检查集合是否包含对象,按引用进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22557042/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com