整型包裝類在 情況下的對比驗證

2021-09-12 13:41:28 字數 2232 閱讀 1392

**段:

integer i1 = integer.valueof(1);

integer i2 = new integer(1);

integer i3 = 1;

integer i4 = integer.valueof(500);

integer i5 = new integer(500);

integer i6 = 500;

system.out.println("integer:");

system.out.println(i1 == i2);

system.out.println(i2 == i3);

system.out.println(i1 == i3);

system.out.println(i1 == 1);

system.out.println(i2 == 1);

system.out.println(i3 == 1);

system.out.println(i4 == i5);

system.out.println(i4 == i6);

system.out.println(i5 == i6);

system.out.println(i4 == 500);

system.out.println(i5 == 500);

system.out.println(i6 == 500);

system.out.println("<<<<<<<<<<>>>>>>>>>>>>>");

long l1 = long.valueof(1);

long l2 = new long(1);

long l3 = 1l;

long l4 = long.valueof(500);

long l5 = new long(500);

long l6 = 500l;

system.out.println("long:");

system.out.println(l1 == l2);

system.out.println(l2 == l3);

system.out.println(l1 == l3);

system.out.println(l1 == 1l);

system.out.println(l2 == 1l);

system.out.println(l3 == 1l);

system.out.println(l4 == l5);

system.out.println(l4 == l6);

system.out.println(l5 == l6);

system.out.println(l4 == 500l);

system.out.println(l5 == 500l);

system.out.println(l6 == 500l);

結果:

integer:

false

false

true

true

true

true

false

false

false

true

true

true

<<<<<<<<<<>>>>>>>>>>>>>

long:

false

false

true

true

true

true

false

false

false

true

true

true

結論:

1、integer,long包裝類的物件池範圍在-128~127之間,而超出這個範圍的物件都會開闢自己的堆記憶體。

i1==i3為true,賦值都是從物件池內取的同一物件;

i4==i6為false,不同的堆記憶體位址。

2、不同整型包裝類物件間通過==比的都是堆記憶體位址,故而全是false;

3、整型包裝類和對應的整形值比較,包裝類會進行拆箱處理**為對應基本型別),最終比較的都是值,而非堆記憶體位址,故而都是true。

C 類模板在不同情況下的使用

4.類模板派生普通類 5.類模板派生類模板 6.類模板類內實現 7.類模板類外實現 8.模板類碰到友元函式 類模板和函式模板的定義和使用類似。有時,有兩個或多個類,其功能是相同的,僅僅是資料型別不同。類模板可以有預設引數,比如 template typename nametype,typename ...

synchronized在多執行緒情況下的使用

不同業務場景,有時會碰到大量資料的情況,在請求完資料後會通過model對映到對應的陣列或者字典中,從而對陣列進行操作,而多個執行緒同時對同一陣列進行取捨時內容就會出錯,為了避免這種情況可以使用 synchronized關鍵字來宣告來建立乙個互斥鎖,保證此時沒有其它執行緒對鎖定物件進行修改 synch...

在沒有x的情況下配置網路

一 ubuntu命令列修改網路配置方法 etc network inte ces 開啟後裡面可設定dhcp或手動設定靜態ip。前面auto eth0,讓網絡卡開機自動掛載.1.以dhcp方式配置網絡卡 編輯檔案 etc network inte ces sudo vi etc network int...