==とint型と整数についての連絡先と顔の質問の違いに等しいです

まず、比較は==比較値であり、2つのオブジェクトを比較する基本的なデータ・タイプの数は、2つのオブジェクトのアドレス値を比較==番号です。

それは、()メソッドを行う等しいですか?我々は()メソッドは、Objectクラスは、すべてのクラスはObjectクラスから継承された()メソッドに等しいことを意味し、すべての直接または間接の親クラスのクラスであるため、Objectクラス内に存在し、そしてによって等しく、ソースコードを見ることで知ることができます我々は、すべてのは、等号()メソッドを呼び出して、)(クラスのequalsメソッドをオーバーライドしていないとの結果が実際と同じように、==番号を使用する==基礎となる数に依存しているObjectクラスのソースコードを、等号()メソッドを見つけましたアドレス値の値を比較し、ただし、Java、クラスの大部分で提供されるすべてのクラスは、等の文字列、整数などのequals()メソッドをオーバーライドし、二つのオブジェクトの等しい書き換え()メソッド一般的です。

int型と整数間の差

1は、整数はint型は、基本データ型は、Javaで、ラッパークラスintで 
インスタンス化する2、整数の変数の後に使用することができますが、変数int型を必要としない 
3、Integerオブジェクトが実際に参照され、ときに、新しい整数を、実際にオブジェクトへのポインタを生成し;そしてINT直接データ値格納されている 
4、整数デフォルトがnullの場合、デフォルト値は0であり、INT

 INT整数と比較については 
図1に示すように、整数変数は、実際にはIntegerオブジェクトへの参照であるため、新たな整数変数を生成することによって両者は(なぜなら、異なるメモリアドレスである二つのオブジェクトの新しい世代の)必ずしも等しくありません。

 

パッケージングと比較した場合、INT整数と基本データ型、Javaのintは自動的にアンパックであるため、(あれば二つの変数は次のようであるように、結果が真である、INT整数変数と変数とを比較し、次に比較2、実際には)2つのint型の変数を比較することになり 

 

図3に示すように、非可変と新しい整数整数(新世代)生成された変数を比較した場合、結果は偽です。(非可変点IntegerオブジェクトのJava定数プールの新世代のため、新しいINTEGER()変数は、ヒープ・ポイントのメモリ内の2つの異なるアドレスを新しいオブジェクトを生成しました)

 

比較した場合、127 -128の間の2つの変数が間隔場合、2つの変数の値は、この範囲の比較結果でない場合4、新世代のための2つの非整数オブジェクトは、比較結果が真でありますそれは偽です。

 

 なぜなら

:;翻訳されたとき(100)は、i = Integer.valueOf整数になるだろう;、およびAPIのInteger型のvalueOfのJavaの定義は、以下の整数I = 100コンパイルされたJava

 

-128〜127の数とJavaは、整数iが= 127、キャッシュ127は、次の整数j = 127を書きます、彼らはキャッシュから直接取得し、キャッシュされている、それは新しいことではないだろう
----------------
免責事項:この記事は、元の記事CSDNのブロガーが「甘い最愛の子を砂糖漬け」、およびBY-SAの著作権契約CC 4.0に従っている、複製、オリジナルのソースを添付してくださいリンクとこの文。
オリジナルリンクします。https://blog.csdn.net/loveliness_peri/article/details/81108524

おすすめ

転載: www.cnblogs.com/sbclmy/p/11441491.html