Java 菜鳥教程

Java 流程控制

Java 數(shù)組

Java 面向?qū)ο?I)

Java 面向?qū)ο?II)

Java 面向?qū)ο?III)

Java 異常處理

Java 列表(List)

Java Queue(隊列)

Java Map集合

Java Set集合

Java 輸入輸出(I/O)

Java Reader/Writer

Java 其他主題

Java 包裝類(Wrapper)

在本教程中,我們將借助示例學習Java 包裝類(Wrapper)。

Java中的包裝類用于將原始類型(int,char,float等)轉(zhuǎn)換為相應的對象。

8個基本類型中的每一個都有對應的包裝器類。

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

將基本類型轉(zhuǎn)換為包裝對象

我們還可以使用valueOf()方法將原始類型轉(zhuǎn)換為相應的對象。

示例1:包裝對象的原始類型

class Main {
  public static void main(String[] args) {

    //創(chuàng)建原始類型
    int a = 5;
    double b = 5.65;

    //轉(zhuǎn)換為包裝對象
    Integer aObj = Integer.valueOf(a);
    Double bObj = Double.valueOf(b);

    if(aObj instanceof Integer) {
      System.out.println("創(chuàng)建一個Integer對象。");
    }

    if(bObj instanceof Double) {
      System.out.println("創(chuàng)建一個Double對象。");
    }
  }
}

輸出結(jié)果

創(chuàng)建一個Integer對象。
創(chuàng)建一個Double對象。

在上面的示例中,我們使用了valueOf()將原始類型轉(zhuǎn)換為對象的方法。

在這里,我們使用instanceof運算符來檢查生成的對象是否屬于Integer或Double類型。

但是,Java編譯器可以直接將原始類型轉(zhuǎn)換為相應的對象。例如,

int a = 5;
//轉(zhuǎn)換為對象
Integer aObj = a;

double b = 5.6;
//轉(zhuǎn)換為對象
Double bObj = b;

此過程稱為自動裝箱。要了解更多信息,請訪問Java自動裝箱和拆箱。

注意:我們還可以使用包裝類(Wrapper)構造函數(shù)將原始類型轉(zhuǎn)換為包裝對象。但是在Java 9之后,不再使用構造函數(shù)。

包裝對象成原始類型

要將對象轉(zhuǎn)換為原始類型,我們可以使用每個包裝類中對應的值方法(intValue()、doubleValue()等)。

示例2:將包裝對象轉(zhuǎn)換為原始類型

class Main {
  public static void main(String[] args) {

    //創(chuàng)建包裝類的對象
    Integer aObj = Integer.valueOf(23);
    Double bObj = Double.valueOf(5.55);

    //轉(zhuǎn)換為原始類型
    int a = aObj.intValue();
    double b = bObj.doubleValue();

    System.out.println("a的值: " + a);
    System.out.println("b的值: " + b);
  }
}

輸出結(jié)果

a的值: 23
b的值: 5.55

在上面的示例中,我們使用了intValue() 和 doubleValue()方法將Integerand和Double對象轉(zhuǎn)換為相應的原始基本類型。

但是,Java編譯器可以自動將對象轉(zhuǎn)換為相應的原始類型。例如,

Integer aObj = Integer.valueOf(2);
//轉(zhuǎn)換為int類型
int a = aObj;

Double bObj = Double.valueOf(5.55);
//轉(zhuǎn)換為double類型
double b = bObj;

此過程稱為拆箱。要了解更多信息,請訪問Java自動裝箱和拆箱

包裝類的優(yōu)點

  • 在Java中,有時我們可能需要使用對象而不是原始數(shù)據(jù)類型。例如,在使用集合時。

    // 錯誤
    ArrayList<int> list = new ArrayList<>();
    
    //正常運行
    ArrayList<Integer> list = new ArrayList<>();

    在這種情況下,包裝器類可以幫助我們將原始數(shù)據(jù)類型用作對象。

  • 我們可以將空值存儲在包裝對象中。例如,

    //將生成一個錯誤
    int a = null;
    
    // 正常運行
    Integer a = null;

注意:基本類型比相應的對象更有效。因此,當需要效率時,總是建議使用原始類型。

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清