gpt4 book ai didi

java - 无法将对象添加到 TreeSet

转载 作者:行者123 更新时间:2023-11-30 04:08:20 27 4
gpt4 key购买 nike

将两个 Order 对象添加到 TreeSet 时,我看到第一个被添加,但第二个被忽略。 Order.equals 方法的实现如下所示。这两个对象肯定有不同的 orderId,但更重要的是,我在 equals 方法中放置了一个断点,但它没有被命中?!

我的问题是为什么要将第二个Order 添加到TreeSet 中。我能想到的唯一原因是它具有相同的 orderId,因此它会被忽略,但事实绝对不是这样。

private final long orderId;

@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Order other = (Order) obj;
if (orderId != other.orderId)
return false;
return true;
}

最佳答案

TreeSet 使用对象的实现 Comparable<Order>或通过提供的Comparator<Order>以确定等效性。

关于java - 无法将对象添加到 TreeSet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20225963/

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