TGViewer
Frontend | Вопросы собесов Frontend | Вопросы собесов @easy_javascript_ru · 17.6K subscribers
Post #1073 5.48K
🤔 Что такое боксинг?

Это процесс упаковки примитивного типа данных в объект. Это делается, чтобы примитивные типы могли работать как объекты в тех ситуациях, где объекты необходимы, например, в коллекциях (таких как ArrayList или HashMap) или при вызове методов, ожидающих объект в качестве аргумента.

🚩Зачем нужен боксинг?

🟠Единый подход к данным
Примитивы сами по себе не являются объектами. Они имеют меньший размер и работают быстрее, но иногда нужно обернуть их в объект, чтобы пользоваться методами или хранить их в структурах данных, предназначенных для объектов.

🟠Совместимость
Во многих случаях требуется, чтобы данные могли быть использованы в объектно-ориентированных конструкциях, где примитивы недоступны.

🟠Гибкость
Примитивы нельзя присвоить переменной типа Object, а после боксинга это становится возможным.

🚩Как это работает?

Примитивные типы, такие как int, double или boolean, автоматически упаковываются в их соответствующие классы-обертки, такие как Integer, Double и Boolean. Это действие называется автобоксингом.

// Боксинг вручную
int primitiveInt = 42;
Integer boxedInt = Integer.valueOf(primitiveInt); // Боксинг

// Автобоксинг
Integer autoBoxedInt = 42; // Примитив int автоматически упакован в Integer

// Распаковка (unboxing)
int unboxedInt = autoBoxedInt; // Integer автоматически преобразован обратно в int


Коллекции в Java (например, ArrayList) работают только с объектами. Поэтому, если вы хотите сохранить int в коллекции, он автоматически упаковывается в Integer.
import java.util.ArrayList;

public class Example {
public static void main(String[] args) {
ArrayList<Integer> numbers = new ArrayList<>();
numbers.add(10); // Автобоксинг: int превращается в Integer
numbers.add(20);

int num = numbers.get(0); // Авто-распаковка: Integer превращается в int
System.out.println(num); // 10
}
}


Ставь 👍 и забирай 📚 Базу знаний
  • 💊 23
  • 👍 3
  • ❤ 1
More from @easy_javascript_ru
  1. Oct 11, 2026Post #3037
  2. Oct 11, 2026🤔 Для чего нужен тег <noscript>? Он используется для отображения альтернативного контента…
  3. Oct 11, 2026Post #3035
  4. Oct 11, 2026🤔 Какими способами мы можем получить картинку с сервера? В веб-разработке есть разные спо…
  5. Oct 10, 2026Post #3033
  6. Oct 10, 2026🤔 Что такое git-flow? Это рабочая модель ветвления, предложенная Винсентом Дриссеном в 20…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →