为什么Java Set包含要添加的对象但没有Set元素等于此对象

时间:2015-07-09 18:14:09

标签: java collections openjpa

首先,我使用OpenJPA JPQL查询获取对象类Product。 Class Product对应于OpenJPA映射的数据库表。它来自Elastic Path软件。

然后我尝试从这些对象创建一个Set。无法添加最后一个对象,因此contains表示此对象已在该集合中。为了理解我迭代Set但没有现存元素等于新对象。

此外,hashCode对所有对象都不同。

这是简化的代码:

$('.button-vote-up')

1 个答案:

答案 0 :(得分:3)

SELECT <your other fields>, CASE WHEN Order_Month = <your filter> THEN 'New' ELSE 'Return' END AS 'SomeName' FROM <your table> 不使用TreeSethashCode。它使用equals的{​​{1}}方法来确定两个元素是否相同。在您的情况下,确定两个Comparator元素是否相同的compareComparator的实例。