[解決済み] Objects.equalsとObject.equals
2022-03-01 12:07:08
質問
Javaでタプルのような構造を可能にするタプルクラスを作ろうとしています。タプルの2つの要素の一般的な型は、それぞれXとYです。このクラスに対して正しいイコールをオーバーライドしようとしています。
しかし、Object.equalsはデフォルトでは"=="のような参照に基づいて比較されることを知っているので、私はそれを使用できるかどうかわからない。私はオブジェクトを調べ、その中にequals()があることを知りました。これはまだ参照で比較するのでしょうか、それとも内容で比較するのでしょうか?
ぱっと想像して、return文はこんな感じかな。
return Objects.equals(compared.prev, this.prev) && Objects.equals(compared.next, this.next);
ここで、prev と next はタプルの要素である。これはうまくいくでしょうか?
どのように解決するのですか?
その差は
Objects.equals()
は2つのnullを"equal"と見なします。擬似的なコードは
-
両方のパラメータが
null
または同じオブジェクトを返します。true
-
もし最初のパラメータが
null
返すfalse
-
に第2パラメータを渡した結果を返します。
equals()
メソッドで、1番目のパラメータ
これは、quot;null safe"であることを意味します(第1パラメーターの
equals()
メソッドはともかくとして)。
関連
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] serialVersionUIDとは何ですか、またなぜそれを使用する必要がありますか?
-
[解決済み] リフレクションとは何か、なぜ有用なのか?
-
[解決済み] Javaで配列を宣言し、初期化する方法は?
-
[解決済み] java.net.URLConnectionを使用してHTTPリクエストを発生させ処理する方法
-
[解決済み] Java内部クラスと静的ネストされたクラス
-
[解決済み] なぜゲッターとセッター/アクセッサーを使うのですか?
-
[解決済み] StringBuilderとStringBufferの違いについて
-
[解決済み] ファイルを作成し、書き込むにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Javaで拡張子なしのファイル名を取得する方法は?
-
[解決済み] パラメータ[変数]の不正な修飾子;finalのみが許可される[closed]。
-
[解決済み] java.lang.ClassCastException: java.util.Arrays$ArrayList は java.util.ArrayList にキャストできません。
-
[解決済み] Javaでのスキャナが動作しない
-
[解決済み] java.lang.ClassNotFoundException: クラス com.ibm.db2.jcc.DB2Driver が Worklight プラットフォームまたはプロジェクトに見つかりませんでした。
-
[解決済み] 1行目2列目でBEGIN_ARRAYを期待したが、BEGIN_OBJECTだった。
-
[解決済み] Java の文字列インデックスが範囲外です。0 [閉店]
-
[解決済み] javaでメソッドを呼び出すプログラムのエラー修正
-
[解決済み] Eclipseでクラスとそれに対応するファイルの名前を変更する方法は?
-
[解決済み] java.sql.SQLRecoverableException: IO エラーです。NL Exceptionが発生しました