When adding two Order
objects to a TreeSet
I see that the first is added, but the second is ignored. The implementation of the Order.equals
method is shown below.
Both the objects definitely have different orderId
s, but more importantly I placed a break point within the equals
method and it did not get hit?!
My question is why would the second Order
was added to the TreeSet
. The only reason I can think of is that it had the same orderId
, hence it would have been ignored, but this is definitely not the case.
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;
}