資料型別及拆箱裝箱

weixin_46313750發表於2020-11-30

八個基本資料型別

自動向上轉型

  1. byte,short,char < int < long < float < doouble
  2. 當char、byte、short型別之間的任意兩者的資料在運算時,會直接轉化成int型
  3. =-*/四則運算時會自動向上(最大)轉型

Java基礎資料型別與其對應的包裝類

原始型別包裝型別
byteByte
shortShort
intInteger
booleanBoolean
floatFloat
doubleDouble
longLong
charCharacter

自動裝箱

public static Integer valueOf(int i) {       
    if (i >= -128 && i <= 127)
        //則返回一個緩衝區中的一個Integer物件
        return IntegerCache.cache[i + 127];
    //否則返回 new 一個Integer 物件
    return new Integer(i);
}

自動拆箱

裝箱和拆箱時機

  • 進行 = 賦值操作(裝箱或拆箱)
  • 進行+,-,*,/混合運算 (拆箱)
  • 進行>,<,==比較運算(拆箱)
  • 呼叫equals進行比較(裝箱)
  • ArrayList,HashMap等集合類 新增基礎型別資料時(裝箱)

equals方法並不會進行型別轉換

相關文章