整数A = 1。B = 1の整数;

整数A = 1 
整数B = 1
整数C = 500
整数d = 500
システム。out.printlnを(== B)
システム。out.printlnを(C == D)
整数aaが= 新しい整数(10)
整数BB = 新しい整数(10)
INT CC = 10
システム。out.printlnを(AA == BB)
システム。out.printlnを(AA == CC);



答案是





自動包装は(INT)Interger.valueOfを呼び出し; 1 =整数、以下が注目されている方法
この方法は常に*** 127包括的範囲内の値-128、およびこの範囲外でもよい***他の値。
IntegerCacheクラスキャッシュ-128〜127の整数のインスタンスは、この間隔内のvalueOfを呼び出すということは、新しいインスタンスを作成しません。
タイプ整数-128 - > 127の範囲がキャッシュされ、各オブジェクトの、すなわちメモリ・アドレスは、新しいオブジェクトが生成されない、キャッシュから直接取る同様、割当であり、この範囲よりも大きいです、Integerオブジェクト、新しいあるオブジェクトを再作成しますが、もちろんアドレスが異なる場合の、そこにあります!=;

「==」比較、パッケージが自動的に基本データをアンパックし、整数(0)が自動的にアンパック中ラッパークラスと基本データ型は、結果が真であります

比較2つの整数を「==」作り、その値が127 -128の間にある場合、結果はそうでない場合は、TRUE、FALSEである第二、

比較した場合、第1のタイプは同じタイプならば、その後の値が同じである場合、結果が真である、比較値を継続し、方法に等しく決定と第三のは二つのパッケージ中に「等しいです」

第四に、基本データ型、メソッドを「等しい」が、それは基本的なパラメータの型である、この瞬間に、それは自動的にタイプをパッケージ箱詰めされます呼び出す場合

おすすめ

転載: www.cnblogs.com/zhuyeshen/p/12106071.html