1

私のチームは現在のプロジェクトで Hibernate Tools 4.0.0 を使用しており、私は FindBugs を使用しています。生成された ORM コードのequalsメソッドがの==代わりに使用していることを示していequalsます。

検索しましたが、それを変更する方法が見つかりませんでした。私の理解では、 ?equalsの代わりに使用すべきではありません。==もしそうなら、どうやってそれを行うhibernate.reveng.xmlのですか?

更新: 生成された残りのコード行を表示するには、右にスクロールする必要がありました。フラグが立てられた最初の部分、メモリ参照を行っていることが判明しました。ただし、 を使用した比較で OR されequalsます。したがって、これは単に、より注意深く読む必要がある場合です。

4

1 に答える 1

1

何を比較するかによります。==オブジェクトを扱うときに参照を.equals()比較し、オブジェクトの値を比較します (.equals()それらのオブジェクトでサポートされている場合)。

生成されたコードの==が適切に使用されている可能性があります。もちろん文脈にもよるでしょう。

于 2013-10-04T16:36:37.750 に答える