Java基礎之基本數據類型容易忽略的問題

1.Integer與Long對象初始化對象

Integer a = 100,b = 100;
Integer a1 = 128,b1 = 128;
System.out.println(a==b);
System.out.println(a1==b1);
Long m = 100L,n = 100L;
Long m1 = 128L,n1 = 128L;
System.out.println(m==n);
System.out.println(m1==n1);
執行結果:
true
false
true
false

解釋說明:源碼

   裝箱的本質是什麼呢?當咱們給一個Integer(Long)對象賦一個int(long)值的時候,會調用Integer類的靜態方法valueOf,若是整型字面量的值在-128到127之間,那麼不會new新的Integer對象,而是直接引用常量池中的Integer對象it

參考源碼:引用

2.自動類型轉換float

低  ------------------------------------>  高
byte,short,char—> int —> long—> float —> double 
long l = 128L;方法

float f = l; //long能夠自動轉成floatim

應用:switch(expr),expr能夠是byte,short,char,int,還能夠是枚舉img

相關文章
相關標籤/搜索