Javaのequalsと「==」の違い
違い:
== 比較されるのは、変数 (スタック) メモリに格納されているオブジェクトの (ヒープ) メモリ アドレスです。 2 つのオブジェクトのアドレスが同じかどうか、つまり、同じオブジェクトを参照しているかどうかを判断するために使用されます。比較されるのは実際のポインタ操作です。
equals は、2 つのオブジェクトの内容が等しいかどうかを比較するために使用されます。すべてのクラスは java.lang.Object クラスを継承するため、このメソッドがオーバーライドされない限り、すべてのオブジェクトに適用できます。まだ呼び出されているのはObjectクラスのメソッドですが、Objectのequalsメソッドは==の判定を返します。
Java のデータ型は 2 つのカテゴリに分類できます:
基本データ型
byte、short、char、int、long、float、double、boolean
基本データ型間の比較では、値を比較するため、2 つの等号 (==) が必要です。
参照データ型
インターフェイス、クラス、配列、およびその他の非基本データ型
Java の文字列が属するString はクラスであるため、参照データ型です。
(==) を使用して比較する場合、メモリ内のストレージ アドレスを比較します。したがって、同じ新しいオブジェクトでない限り、比較の結果は true になり、そうでない場合、比較の結果は false になります。 。新しいものがない場合は、新しいヒープ メモリ空間が再度開かれるためです。
Entity entity = new Entity(); Entity entity1 = new Entity(); Entity entity2 = entity; System.out.println(entity==entity2); System.out.println(entity.equals(entity2)); System.out.println(entity.equals(entity1)); System.out.println(entity==entity1);
結果:
true true false false
要約:
複合データの場合、型間の等しい値を比較します。equals メソッドをオーバーライドしない場合、型間の比較は依然としてメモリ内の格納場所のアドレス値であり、これは 2 つの等号 (==) の結果と同じです。 ; 上書きすると結果は上書きと同じになるというリクエストが来ます。
== の機能:
基本型: 値が同じかどうかが比較されます;
参照型: 比較されるのはアドレス値が同じかどうかです同じです。
equalsの役割:
参照型:デフォルトではアドレス値を比較するため、このメソッドをオーバーライドした後、オブジェクトのメンバ変数の値が同じかどうかを比較します。
推奨チュートリアル: Java 入門チュートリアル
以上がJavaのequalsと「==」の違いの詳細内容です。詳細については、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)

ホットトピック









C言語関数は、コードモジュール化とプログラム構築の基礎です。それらは、宣言(関数ヘッダー)と定義(関数体)で構成されています。 C言語は値を使用してパラメーターをデフォルトで渡しますが、外部変数はアドレスパスを使用して変更することもできます。関数は返品値を持つか、または持たない場合があり、返品値のタイプは宣言と一致する必要があります。機能の命名は、ラクダを使用するか、命名法を強調して、明確で理解しやすい必要があります。単一の責任の原則に従い、機能をシンプルに保ち、メンテナビリティと読みやすさを向上させます。

C言語関数は再利用可能なコードブロックです。彼らは入力を受け取り、操作を実行し、結果を返すことができます。これにより、再利用性が改善され、複雑さが軽減されます。関数の内部メカニズムには、パラメーターの渡し、関数の実行、および戻り値が含まれます。プロセス全体には、関数インラインなどの最適化が含まれます。単一の責任、少数のパラメーター、命名仕様、エラー処理の原則に従って、優れた関数が書かれています。関数と組み合わせたポインターは、外部変数値の変更など、より強力な関数を実現できます。関数ポインターは機能をパラメーターまたはストアアドレスとして渡し、機能への動的呼び出しを実装するために使用されます。機能機能とテクニックを理解することは、効率的で保守可能で、理解しやすいCプログラムを書くための鍵です。

H5。ミニプログラムとアプリの主な違いは次のとおりです。技術アーキテクチャ:H5はWebテクノロジーに基づいており、ミニプログラムとアプリは独立したアプリケーションです。経験と機能:H5は軽量で使いやすく、機能が限られています。ミニプログラムは軽量で、インタラクティブが良好です。アプリは強力で、スムーズな経験があります。互換性:H5はクロスプラットフォーム互換性があり、アプレットとアプリはプラットフォームによって制限されています。開発コスト:H5には、開発コストが低く、中程度のミニプログラム、最高のアプリがあります。適用可能なシナリオ:H5は情報表示に適しており、アプレットは軽量アプリケーションに適しており、アプリは複雑な機能に適しています。

Photoshopでパスワードで保護されたPDFをエクスポート:画像ファイルを開きます。 [ファイル]&gtをクリックします。 「エクスポート」> 「PDFとしてのエクスポート」。 「セキュリティ」オプションを設定し、同じパスワードを2回入力します。 [エクスポート]をクリックして、PDFファイルを生成します。

CとC#には類似点がありますが、それらは完全に異なります。Cはプロセス指向の手動メモリ管理、およびシステムプログラミングに使用されるプラットフォーム依存言語です。 C#は、デスクトップ、Webアプリケーション、ゲーム開発に使用されるオブジェクト指向のガベージコレクション、およびプラットフォーム非依存言語です。

JavaScriptのDOMノードの下でのXpath検索方法の詳細な説明、XPath式に基づいてDOMツリーから特定のノードを見つける必要があることがよくあります。あなたがする必要があるなら...

Vueアプリケーションを開発するときに、ルーターフォルダーの下にindex.jsファイルにvuerouterを登録する必要性があるため、ルーティング構成で問題が発生することがよくあります。特別...

Console.log出力の違いについての詳細な議論は、この記事のログ出力で、Console.log関数の出力結果がコードの一部である理由を分析します。コードスニペットにはURLパラメーターの解像度が含まれます...
