Javaで2つのオブジェクトを等しくするにはどうすればよいですか?

質問者:Kbira O hara |最終更新日:2020年4月20日
カテゴリ:テクノロジーおよびコンピューティングプログラミング言語
4.1 / 5 (903ビュー。36投票)
Javaは、 equalsObject o)メソッドを使用して同等を判断します。2つのオブジェクトaとb、aの場合は同等です。 (b)とbに等しい等しい(a)trueを返します。あなたはそれを心配する必要ありませんので、これらの2つのオブジェクトが平等のベース・オブジェクト定義を使用して同じになります。

これを考慮して、Javaで2つのオブジェクトをどのように同一視しますか?

最初の比較では、equals()は現在のオブジェクトインスタンスを渡されたオブジェクトと比較します。 2つのオブジェクトの値が同じである場合、equals()はtrueを返します。 2番目の比較では、equals()は、渡されたオブジェクトがnullであるかどうか、または別のクラスとして入力されているかどうかを確認します。

さらに、Javaで2つのオブジェクトを比較できますか? Javaでは、 equals()メソッドを使用し2つのオブジェクトの同等性を比較します。等式2つの方法で比較できます。浅い比較:equalsメソッドのデフォルトの実装はJavaで定義されています2つのオブジェクト参照(たとえばxとy)が同じオブジェクトを参照しているかどうかを単にチェックするオブジェクトクラス。

したがって、Javaは2つのオブジェクト間の同等性をどのように定義しますか?

オブジェクトの等価を計算することは時間のかかる作業であるため、Javaはまた、ハッシュコード()を使用して、オブジェクトが同じあるかどうか決定する簡単な方法を提供します。これは、オブジェクトの内部データ構造に基づいて少数を返します。 2つのオブジェクトのハッシュコードが異なる場合、それらを互いに等しくすることはできません。

等号をどのようにオーバーライドしますか?

上記のコードクラスでは、Personにはオーバーライドされたequals()メソッドがあり、次のステップバイステップのアプローチを採用しています。

  1. このオブジェクトへの参照が引数オブジェクトへの参照と同じである場合は、trueを返します。
  2. 引数がnullの場合、falseを返します。
  3. オブジェクトが同じクラスのものでない場合は、falseを返します。

39関連する質問の回答が見つかりました

2つのオブジェクトが同じハッシュコードを持つことはできますか?

1)2つのオブジェクトが等しく係る等しい場合)、それら二つのオブジェクトのそれぞれにハッシュコードメソッドを呼び出すと同じハッシュコードを生成すべきです。 2) 2つのオブジェクトequal ()に従って等しくない場合、 2つのオブジェクトのそれぞれハッシュコードメソッドを呼び出すと、異なる値が生成される必要はありません。

Javaで+ =はどういう意味ですか?

+ =は、+現在の値の前の変数取得し、等号の右側にあるものを+記号の前にあるものの現在の値に追加することを意味します。

== equals()メソッドとcompareTo()メソッドの違いは何ですか?

compareTo :2つの文字列を辞書式に比較します。 equals :この文字列を指定されたオブジェクトと比較します。 compareToは、 2つの文字列を(同じインデックスの)文字で比較し、それに応じて整数(正または負)を返します。 equals()は、2つのオブジェクトが同じかどうかをチェックし、ブール値を返します。

hashCode()とequals()は何に使用されますか?

hashCode()およびequals()メソッドの使用
equals (Object otherObject)–メソッド名が示すように、2つのオブジェクトの同等性を単純に検証するために使用されます。デフォルトの実装では、2つのオブジェクトのオブジェクト参照をチェックして、それらが等しいことを確認します。

hashCodeとは何ですか?

ハッシュコードは、任意のオブジェクトから生成された番号です。これにより、オブジェクトをハッシュテーブルにすばやく保存/取得できます。次の簡単な例を想像してみてください。目の前のテーブルには、それぞれ1から9までの数字が付いた9つのボックスがあります。

JavaのhashCode()とは何ですか?

Javaオブジェクトのハッシュコードは単なる数値であり、32ビットのsigned intであり、オブジェクトをハッシュベースのデータ構造で管理できるようにします。ハッシュコードは、JVMによってオブジェクトに割り当てられた一意のID番号であることがわかっています。 2つのオブジェクトが等しい場合、これら2つのオブジェクトは同じハッシュコードを返す必要があります

Javaとは何ですか?

equals ()は、オブジェクトの値の比較に評価されます。クラスがequalsメソッドをオーバーライドしない場合、デフォルトでは、このメソッドをオーバーライドした最も近い親クラスのequals (Object o)メソッドを使用します。詳細はこちらをご覧ください。コーディング例://理解するJavaプログラム。

Javaで2つのリストを比較するにはどうすればよいですか?

ArrayListクラスのequals()メソッドを使用して2つの配列リスト比較できます。このメソッドは、リストオブジェクトをパラメーターとして受け取り、現在のオブジェクトと比較します。一致する場合はtrueを返し、一致しない場合はfalseを返します。

==はどういう意味ですか?

==は論理演算子であり、ブール値を要求しています。これは、たとえば値を変数に設定するために使用される=と混同しないでください。 ==を使用して、他のコメントですでに説明したような条件を設定できます。したがって、toの値が等しいかどうかをテストするために使用されます(各データ型で機能します)。

Javaで===とはどういう意味ですか?

JavaScriptでの==と===の違い
一方、 ===は厳密に等式演算子として知られています。 3) Javaで厳密な等式演算子を使用して変数を比較する場合、2つのオブジェクトが同じタイプであり、それらが同じインスタンスを参照している場合、2つのオブジェクトは互いに厳密に等しくなります。

==とは何ですか?

"="は、変数に値を割り当てるために使用される代入演算子です。例:int b = 7; "=="は、2つのオペランド間の関係を見つけるために使用される関係演算子であり、ブール値で 'true'または 'false'のいずれかを返します。例:5 == 5条件true1またはtrueを返します。

Javaで++はどういう意味ですか?

当初の回答:何をしますJavaで意味しますか?これは、式に含まれる演算子です。ブール結果を生成する式を操作し、その結果を無効にします。たとえば、ステートメントで。

Javaのポリモーフィズムとは何ですか?

Javaのポリモーフィズムは、単一のアクションをさまざまな方法で実行できる概念です。メソッドのオーバーロードとメソッドのオーバーライドにより、Javaでポリモーフィズムを実行できます。 Javaで静的メソッドをオーバーロードする場合、これはコンパイル時のポリモーフィズムの例です。ここでは、Javaのランタイムポリモーフィズムに焦点を当てます。

Javaで等しくないものは何ですか?

関係演算子
オペレーター説明
!=(等しくない) 2つのオペランドの値が等しいかどうかをチェックし、値が等しくない場合は条件が真になります。
>(より大きい)左のオペランドの値が右のオペランドの値より大きいかどうかをチェックします。大きい場合は、条件が真になります。

なぜhashCodeがJavaで使用されるのですか?

8つの答え。ハッシュコードは、()セット/マップの要素を格納するためのバケット番号として使用される等のHashMap、ハッシュテーブル、HashSetの、ハッシュコードから受け取った値()のようなハッシュ実装でバケット化するために使用されます。このバケット番号は、セット/マップ内の要素のアドレスです。

Javaの文字列とは何ですか?

文字列文字のシーケンスです。たとえば、「He​​llo」は5文字の文字列です。 Javaでは、文字列は不変オブジェクトです。つまり、文字列は定数であり、作成後に変更することはできません。

hashCodeとequalsの違いは何ですか?

equals ()とhashCode ()は異なるメソッドであり、 hashCodeメソッドを使用して2つのオブジェクト参照が同じかどうかを確認しないでください。 equals ()は、2つのオブジェクト参照が同じかどうかをチェックします。 2つのオブジェクトが等しい場合、それらのhashCodeは同じである必要がありますが、その逆は当てはまりません。