Автоупаковка и распаковка Java
Автоупаковка и распаковка Java
В этом руководстве мы узнаем об автоупаковке и распаковке Java на примерах.
Java Autoboxing — примитивный тип для объекта-оболочки
В автобоксе , компилятор Java автоматически преобразует примитивные типы в соответствующие им объекты класса-оболочки. Например,
int a = 56;
// autoboxing
Integer aObj = a;
Автоупаковка имеет большое преимущество при работе с коллекциями Java.
<час>Пример 1:Java Autoboxing
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
//autoboxing
list.add(5);
list.add(6);
System.out.println("ArrayList: " + list);
}
}
Вывод
ArrayList: [5, 6]
В приведенном выше примере мы создали список массивов целочисленного типа. Следовательно, список массивов может содержать только объекты Integer
тип.
Обратите внимание на строку,
list.add(5);
Здесь мы передаем значение примитивного типа. Однако из-за автоматической упаковки , примитивное значение автоматически преобразуется в Integer
объект и сохраняется в списке массивов.
Распаковка Java – преобразование объектов в примитивные типы
При распаковке , компилятор Java автоматически преобразует объекты классов-оболочек в соответствующие им примитивные типы. Например,
// autoboxing
Integer aObj = 56;
// unboxing
int a = aObj;
Нравится автобокс. , распаковка также может использоваться с коллекциями Java.
<час>Пример 2. Распаковка Java
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
//autoboxing
list.add(5);
list.add(6);
System.out.println("ArrayList: " + list);
// unboxing
int a = list.get(0);
System.out.println("Value at index 0: " + a);
}
}
Вывод
ArrayList: [5, 6] Value at index 0: 5
В приведенном выше примере обратите внимание на строку
int a = list.get(0);
Здесь get()
метод возвращает объект с индексом 0 . Однако из-за распаковки , объект автоматически преобразуется в примитивный тип int
и присваивается переменной a .
java
- Переменные и литералы Java
- Базовый ввод и вывод Java
- Java-выражения, операторы и блоки
- Java-класс и объекты
- Абстрактный класс Java и абстрактные методы
- Вложенный и внутренний класс Java
- Java бросает и бросает
- Java String replace(), replaceAll() и replaceFirst()
- Методы строки Java toLowercase() и toUpperCase()
- Java — объект и классы