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

Основной учебник Java

Онлайн инструменты

Java Управление потоком

Java Массивы

Java Ориентированность на объекты (I)

Java Ориентированность на объекты (II)

Обработка исключений Java

Java Ориентированность на объекты (III)

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 коллекций,

имеет значительное преимущество.

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]

Пример 1: Java автоматическая упаковка

В предыдущем примере мы создали список 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.