1

我的团队在当前项目中使用 Hibernate Tools 4.0.0,而我正在使用 FindBugs。它标志着生成的 ORM 代码的equals方法正在使用==而不是equals.

我搜索但找不到如何更改它。据我了解,不equals应该用来代替==? 如果是这样,怎么做(通过hibernate.reveng.xml或其他方式)?

更新:我需要向右滚动才能看到生成的其余代码行。事实证明,被标记的第一部分进行内存引用。但是,使用equals. 所以这只是一个需要更仔细阅读的案例。

4

1 回答 1

1

这取决于正在比较的内容。==在处理对象时比较引用,同时.equals()比较对象的值(如果.equals()这些对象支持)。

对于生成的代码,可能==会适当地使用。这当然取决于上下文。

于 2013-10-04T16:36:37.750 回答