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 自動裝箱和拆箱

在本教程中,我們將借助示例學(xué)習(xí)Java自動裝箱和拆箱。

Java自動裝箱-包裝器對象的原始類型

自動裝箱中,Java編譯器會自動將原始類型轉(zhuǎn)換為其相應(yīng)的包裝器類對象。例如,

int a = 56;
// 自動裝箱
Integer aObj = a;

使用Java集合時,自動裝箱具有很大的優(yōu)勢。

示例1:Java自動裝箱

import java.util.ArrayList;

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

      ArrayList<Integer> list = new ArrayList<>();

      //自動裝箱
      list.add(5);
      list.add(6);

      System.out.println("ArrayList: " + list);
   }
}

輸出結(jié)果

ArrayList: [5, 6]

在上面的示例中,我們創(chuàng)建了一個Integer類型的數(shù)組列表。因此,數(shù)組列表只能包含Integer類型的對象。

注意這一行,

list.add(5);

在這里,我們傳遞原始類型值。但是,由于自動裝箱,原始值會自動轉(zhuǎn)換為Integer對象并存儲在數(shù)組列表中。

Java拆箱-包裝器對象為原始類型

拆箱中,Java編譯器會自動將包裝器類對象轉(zhuǎn)換為其相應(yīng)的原始類型。例如,

// 自動裝箱
Integer aObj = 56;

// 拆箱
int a = aObj;

自動裝箱一樣,拆箱也可以與Java集合一起使用。

示例2:Java拆箱

import java.util.ArrayList;

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

      ArrayList<Integer> list = new ArrayList<>();

      //自動裝箱
      list.add(5);
      list.add(6);

      System.out.println("ArrayList: " + list);

      // 拆箱
      int a = list.get(0);
      System.out.println("Value at index 0: " + a);
   }
}

輸出結(jié)果

ArrayList: [5, 6]
Value at index 0: 5

在上面的示例中,請注意以下行:

int a = list.get(0);

這里,get()方法返回索引0處的對象。但是,由于拆箱,對象被自動轉(zhuǎn)換為原始類型int并分配給變量a。

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