2012-12-18 29 views

回答

1

如果你只是想看看两个引用是否指向同一个对象,那么==运算符就足够了。

如果你想要测试的是平等,即他们有相同的变量,那么你将不得不重写equals方法与你的特定逻辑来确定相等性。但是,如果对象的类型无法访问源进行修改,那么必须以满足您的要求的方式依赖于它们来实现equals方法。

在极少数情况下,如果它不是您想要的,那么只要该类可扩展,您就可以创建一个覆盖equals方法的Anonymous类。

+0

非常感谢您的指导。您能给我一个使用junit来测试两个会话的平等并覆盖equals()的例子吗?谢谢! –

0

退房这个问题Hibernate Object Equality Checking

从上面的裁判,JUnit的断言应该是这样的:

assertTrue(o1.getClass().equals(o2.getClass()) && o1.getId().equals(o2.getId()));

相关问题