アイデアが不足しています... 2 つのオブジェクトを比較しています。どちらもカスタム タイプの配列リスト フィールドを持っています。
どちらのオブジェクトにも、配列リストに 1 つの要素が含まれています。
Eclipseデバッガーを調べると、IDが異なることを除いて、最も詳細に至るまで完全に同じに見えます(デバッガーでは: (id=111) のように見えます)
面白いことに、この異なる ID は、整数型 (カウンター) の 1 つのフィールドにあります。integer には equals と hashcode が既に実装されているため、どちらが明らかに起こるべきではありませんか?
ID が異なるもう 1 つのフィールドは文字列型 (フィルター) です。
これらのフィールドを持つ 2 つのオブジェクト間の equals メソッドは false を返します...理由がわかりません...すべての equals および hashCode メソッドは、すべてのカスタム型に実装されています..
これはEclipseデバッガーからのものです:
オブジェクト 1:
Object (id=159)
arrayList ArrayList<E> (id=175)
[0] Item (id=175)
counter Integer (id=179)
filter "abcd" (id=181)
count 4
hash -717152022
offset 2
value (id=189)
オブジェクト 2:
Object (id=259)
arrayList ArrayList<E> (id=267)
[0] Item (id=268)
counter Integer (id=268)
filter "abcd" (id=269)
count 4
hash -717152022
offset 2
value (id=270)