ホームページ > Java > &#&チュートリアル > ArrayList の「contains()」メソッドはオブジェクトの等価性を使用しますか、それとも参照の等価性を使用しますか?

ArrayList の「contains()」メソッドはオブジェクトの等価性を使用しますか、それとも参照の等価性を使用しますか?

Susan Sarandon
リリース: 2024-12-07 18:06:17
オリジナル
1008 人が閲覧しました

Does ArrayList's `contains()` Method Use Object Equality or Reference Equality?

ArrayList の contains() メソッドのオブジェクト比較について

ArrayList の contains() メソッドは、指定されたオブジェクトがリスト内に存在するかどうかを評価します。オブジェクトの同等性を判断するとき、ArrayList はオブジェクトのクラス内で定義された equals() メソッドを利用します。

次のシナリオを考えてみましょう。整数値を持つ Thing オブジェクトを作成し、それを ArrayList に追加します。その後、同じ値を持つ別の Thing オブジェクトを作成した場合、contains() メソッドはそれらを同等のものとして識別しますか?

実装上の考慮事項

contains() メソッドでは、 trueを返す場合、Thingクラス内のequals()メソッドが適切に実装されている必要があります。この場合、equals() メソッドはオブジェクト間の value インスタンス変数を正しく比較し、それらが同一であれば true を返します。

結論

contains() メソッドin ArrayList は、オブジェクトの比較をオブジェクトのクラスで定義されている equals() メソッドに委任します。関連するインスタンス変数を比較するためにequals()を実装することにより、ArrayList操作においてオブジェクトが等しいか否かを正しく識別できるようになります。

以上がArrayList の「contains()」メソッドはオブジェクトの等価性を使用しますか、それとも参照の等価性を使用しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート