1. 程式人生 > 其它 >2017-03-10學習筆記

2017-03-10學習筆記

1.Integer和int,裝箱拆箱

1、基本型和基本型封裝型進行“==”運算子的比較,基本型封裝型將會自動拆箱變為基本型後再進行比較,因此Integer(0)會自動拆箱為int型別再進行比較,顯然返回true; 2、兩個Integer型別進行“==”比較,如果其值在-128至127,那麼返回true,否則返回false, 這跟Integer.valueOf()的緩衝物件有關,這裡不進行贅述。 3、兩個基本型的封裝型進行equals()比較,首先equals()會比較型別,如果型別相同,則繼續比較值,如果值也相同,返回true 4、基本型封裝型別呼叫equals(),但是引數是基本型別,這時候,先會進行自動裝箱,基本型轉換為其封裝型別,再進行3中的比較。

int a=257;
Integer b=257;
Integer c=257;
Integer b2=57;
Integer c2=57;
System.out.println(a==b);
//System.out.println(a.equals(b));  編譯出錯,基本型不能呼叫equals()
System.out.println(b.equals(257.0));
System.out.println(b==c);
System.out.println(b2==c2);

因此上面的程式碼的結果因此為 true, false, false, true

2.執行緒排程

分為協同式排程和搶佔式排程,Java使用的是搶佔式排程,也就是每個執行緒將由作業系統來分配執行時間,執行緒的切換不由執行緒本身來決定(協同式排程)。這就是平臺獨立的原因。

3.過載,重寫

重寫: 兩同,兩小,一大 兩同:方法名,方法引數列表相同。 兩小:丟擲的異常型別要小於等於父類,返回值型別要小於等於父類 一大:訪問許可權大於等於父類。 過載: 在同一個類中,方法名和方法引數列表不同,其他的(訪問許可權、返回值)隨意。