Javaで等号を使用する方法
Javaのequalsメソッドは、2つのオブジェクトが等しいかどうかを比較するために使用されます。 2 つのオブジェクトのフィールドを 1 つずつ比較し、それらが等しいかどうかをチェックして、オブジェクトの内容が等しいかどうかを判断します。等号メソッドをオーバーライドする場合は、対称性、再帰性、推移性、一貫性の規則に従う必要があります。
Java での equals の使用法
Java では、2 つのオブジェクトが等しいかどうかを比較するために equals
メソッドが使用されます。これは、Object
クラスによって定義され、他のすべてのクラスによって継承される一般的なメソッドです。 equals
方法用于比较两个对象的相等性。它是一个通用的方法,由 Object
类定义,并由所有其他类继承。
用法
equals
方法通常用于比较两个对象的 值内容,而不是 引用相等性。它采用另一个对象作为参数并返回一个 boolean
值,指示两个对象是否相等。
语法:
public boolean equals(Object obj)
参数
-
obj
- 要比较的对象
返回值
-
true
- 如果两个对象相等 -
false
- 如果两个对象不相等
详细解释
当比较两个对象时,equals
方法执行以下步骤:
-
类相等性检查:首先,
equals
方法检查两个对象是否为同类的实例。如果不属于同一类,则对象肯定不相等。 -
对象内容比较:如果类相等,
equals
方法将比较两个对象的字段或属性。它将逐一比较相应的字段,并检查它们是否相等。 -
引用相等性(可选):某些情况下,
equals
方法可能会比较对象的引用相等性。这意味着它检查两个对象是否指向同一内存位置。如果它们指向相同的内存位置,则它们被认为相等。
注意事项
-
覆盖
equals
方法时,请确保遵守以下约定:-
对称性:对于任何非空引用
x
和y
,x.equals(y)
等于y.equals(x)
。 -
自反性:对于任何非空引用
x
,x.equals(x)
必须为true
。 -
传递性:对于任何引用
x
、y
和z
,如果x.equals(y)
为true
并且y.equals(z)
为true
,则x.equals(z)
也必须为true
。 -
一致性:对于任何非空引用
x
和y
,如果它们没有被修改,那么多次调用x.equals(y)
必须始终返回相同的结果。
-
对称性:对于任何非空引用
- 为基本类型(如
int
、double
)定义的equals
equals
メソッドは通常、🎜参照の同等性🎜 ではなく、2 つのオブジェクトの 🎜値の内容🎜 を比較するために使用されます。別のオブジェクトをパラメータとして受け取り、2 つのオブジェクトが等しいかどうかを示す boolean
値を返します。 🎜🎜構文: 🎜rrreee🎜🎜パラメータ🎜🎜-
obj
- 比較されるオブジェクト🎜🎜🎜🎜戻り値🎜🎜true - 2 つのオブジェクトが等しい場合🎜<li> <code>false
- 2 つのオブジェクトが等しくない場合🎜🎜🎜🎜詳しい説明🎜🎜🎜 2 つのオブジェクトを比較する場合、equals
このメソッドは次の手順を実行します: 🎜- 🎜クラスの等価性チェック: 🎜まず、
equals
メソッドは 2 つのオブジェクトが同じクラスのインスタンスであるかどうかをチェックします。オブジェクトが同じクラスに属していない場合、それらのオブジェクトは明らかに等しくありません。 🎜 - 🎜オブジェクト コンテンツの比較: 🎜 クラスが等しい場合、
equals
メソッドは 2 つのオブジェクトのフィールドまたはプロパティを比較します。対応するフィールドを 1 つずつ比較し、それらが等しいかどうかを確認します。 🎜 - 🎜参照の同等性 (オプション): 🎜 場合によっては、
equals
メソッドは参照の同等性についてオブジェクトを比較することがあります。これは、2 つのオブジェクトが同じメモリ位置を指しているかどうかをチェックすることを意味します。同じメモリ位置を指している場合、それらは等しいとみなされます。 🎜🎜🎜🎜注意事項🎜🎜- 🎜
equals
メソッドをオーバーライドするときは、次の規則に従ってください: 🎜- 🎜対称: 🎜非-null 参照
x
およびy
、x.equals(y)
はy.equals(x)
と等しい。 🎜 - 🎜再帰性: 🎜 null 以外の参照
x
の場合、x.equals(x)
はtrue
でなければなりません。 🎜 - 🎜推移性: 🎜
x.equals(y)x
、y
、およびz
への参照について/code> がtrue
で、y.equals(z)
がtrue
の場合、x.equals(z)
です。true
である必要もあります。 🎜 - 🎜一貫性: 🎜 null 以外の参照
x
とy
が変更されていない場合、x.equals( y )
は常に同じ結果を返さなければなりません。 🎜🎜🎜 - 基本型 (
int
、double
など) に対して定義されたequals
メソッドは最終的なものであり、オーバーライドできません。 🎜🎜
- 🎜対称: 🎜非-null 参照
- 🎜
- 🎜クラスの等価性チェック: 🎜まず、
以上がJavaで等号を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Javaのクラスロードには、ブートストラップ、拡張機能、およびアプリケーションクラスローダーを備えた階層システムを使用して、クラスの読み込み、リンク、および初期化が含まれます。親の委任モデルは、コアクラスが最初にロードされ、カスタムクラスのLOAに影響を与えることを保証します

この記事では、カフェインとグアバキャッシュを使用してJavaでマルチレベルキャッシュを実装してアプリケーションのパフォーマンスを向上させています。セットアップ、統合、パフォーマンスの利点をカバーし、構成と立ち退きポリシー管理Best Pra

この記事では、キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPAを使用することについて説明します。潜在的な落とし穴を強調しながら、パフォーマンスを最適化するためのセットアップ、エンティティマッピング、およびベストプラクティスをカバーしています。[159文字]

この記事では、Javaプロジェクト管理、自動化の構築、依存関係の解像度にMavenとGradleを使用して、アプローチと最適化戦略を比較して説明します。

この記事では、MavenやGradleなどのツールを使用して、適切なバージョン化と依存関係管理を使用して、カスタムJavaライブラリ(JARファイル)の作成と使用について説明します。
