equals() method for classes with bidirectional association

前端 未结 4 1018
时光说笑
时光说笑 2021-01-17 22:06

I am trying to implement equals method for Java classes Book and Chapter in my application. Book has a set of Chapt

4条回答
  •  走了就别回头了
    2021-01-17 23:05

    (I'm assuming this is Java) In the Chapter class equals method, you could just compare the book references (that is, using ==, not equals). This only compare references, so it would avoid an infinite loop. However, if you Clone books sometimes, this approach would fail.

    An even better way to solve this specific case would be to compare not the books, but their ISBN, since that is an unique identifier for a Book.

    In general, it is better to avoid bidirectional dependencies like this. One way is to have one of the two classes implement an interface, so as not to use it directly.

提交回复
热议问题