English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Другие темы 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 автоматически преобразует объекты оберток в соответствующие им базовые типы. Например:
// автоматическая упаковка Integer aObj = 56; // Распаковка int a = aObj;
какавтоматическиупаковкаОднакоРаспаковкаТакже можно использовать с 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.