English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 기본 강의

Java 프로세스 제어

Java 배열

Java 동적 객체(I)

Java 동적 객체(II)

Java 동적 객체(III)

Java 예외 처리

Java 목록(List)

Java Queue(큐)

Java Map集合

Java Set集合

Java 입력/출력(I/O)

Java Reader/Writer

Java 다른 주제

Java 자동 박싱과 해박싱

이 튜토리얼에서는 예제를 통해 Java 자동 박싱과 언박싱을 배웁니다.

Java 자동 박싱-웨이버러 객체의 원시 타입

제가자동 박싱 중Java 컴파일러는 자동으로 원시 타입을 그에 상응하는 웨이버러 클래스 객체로 변환합니다. 예를 들어,

int a = 56;
// 자동 박싱
Integer aObj = a;

Java 컬렉션을 사용할 때자동 박싱빠른 장점이 있습니다.

예제1Java 자동 박싱

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);
   }
}

출력 결과

ArrayList: [5, 6]

위의 예제에서는 Integer 타입의 배열 목록을 생성했습니다. 따라서 배열 목록은 Integer 타입의 객체만 포함할 수 있습니다.

이 줄을 주목하십시오

list.add(5);

여기서는 원시 타입 값을 전달합니다. 그러나,자동 박싱원시 값은 자동으로 Integer 객체로 변환되어 배열 목록에 저장됩니다.

Java 언박싱-웨이버러 객체는 원시 타입입니다

제가언박싱 중Java 컴파일러는 자동으로 웨이버러 클래스 객체를 그에 상응하는 원시 타입으로 변환합니다. 예를 들어,

// 자동 박싱
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("인덱스 0에 있는 값: " + a);
   }
}

출력 결과

ArrayList: [5, 6]
인덱스 0에 있는 값: 5

위의 예제에서 다음과 같은 행을 주목하세요:

int a = list.get(0);

여기서 get() 메서드는 인덱스 0에 있는 객체를 반환합니다. 하지만,해박싱,객체가 자동으로 원시 타입 int로 변환되어 변수 a에 할당됩니다。