java學習筆記(包裝類)

奧卡姆的剃刀生鏽了發表於2020-11-28

包裝類的概念

  • 基本資料型別,使用起來非常方便。但是沒有對應的方法來操作這些基本型別的資料。因此我們可以使用一個類,把基本資料型別的資料裝起來,在類中定義一些方法來操作這些基本型別的資料。這個類就叫做包裝類
基本型別包裝類(引用型別,包裝類都位於java.lang包下)
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean

裝箱與拆箱

  • 基本型別與對應的包裝類物件之間,來回轉換的過程叫做“裝箱”與“拆箱”。下面以int為例進行舉例。
  • 裝箱:把基本資料型別的資料,包裝到包裝類中(基本資料型別 —> 包裝類)
    • 構造方法
      • Integer(int value):構建一個新分配的Integer物件,它表示指定指定的int值
      • Integer(String s):構建一個新分配的Integer物件,它表示String引數所指示的int值(傳遞的字串必須是基本型別的字串,“100”(√) “A”(×))
    • 靜態方法
      • static Integer valueOf(int i):與Integer(int value)相似
      • static Integer valueOf(String s):與Integer(String s)相似
  • 拆箱:從包裝類中取出基本型別的資料(包裝類 —> 基本資料型別)
    • 成員方法
      • int intValue():以int型別返回該Integer型別

在這裡插入圖片描述

自動裝箱與自動拆箱

  • 基本型別的資料與包裝類之間可以自動的相互轉換(JDK 1.5之後出現的新特性
  • 自動裝箱:直接把int型別的整數賦值包裝類
    • Integer in = 1; 相當於 Integer in = new Integer(1);
  • 自動拆箱: in是包裝類,無法直接參與運算,可以自動轉換為基本資料型別,再進行計算
    • in+2; 就相當於 in.intValue()+2=3
    • in = in.intValue()+2=3 又是一個自動裝箱的操作

基本資料型別與字串之間的相互轉換

  • 基本資料型別 --> 字串(String)

    • 基本型別的值 + “”(空字串) —— 最簡單的方法(工作中常用)
    • 包裝類的靜態方法toString(引數),注意不是Object類的toString()(一個有引數,一個沒引數,為過載的關係)
      • static String toString(int i):返回一個表示指定整數的String物件(以Integer為例)
    • String類的靜態方法ValueOf(引數)
      • static String ValueOf(int i):返回int引數的字串表示形式(以int為例)
  • 字串(String)–>基本資料型別

    • 使用包裝類的靜態方法parseXXX(String 數值型別的字串)

      • Integer類:static int parseInt(String s)
      • Double類:static double ParseDouble(String s)
    • 注意:轉換的字串必須是數值型別(即 “100”(√)“a”(×))

      在這裡插入圖片描述

相關文章