Sobes.tech
Back to questions
Junior — Middle
61

Какие отличия существуют между примитивным типом short и его объектным представлением Short в Java?

Answer from AI

sobes.tech AI

В Java short — это примитивный тип данных, который занимает 2 байта и хранит числовое значение от -32768 до 32767.

Short — это объектная обертка (wrapper class) для примитивного типа short. Основные отличия:

  • Примитив vs объект: short — примитив, Short — объект.
  • Использование: Short используется, когда нужен объект, например, в коллекциях (List<Short>), где нельзя использовать примитивы.
  • Автоупаковка: Java автоматически преобразует между short и Short (автоупаковка и автораспаковка).
  • Методы: Short предоставляет методы, например, для преобразования в строку, сравнения и т.п., у примитива таких методов нет.

Пример:

short a = 10;
Short b = a; // автоупаковка
short c = b; // автораспаковка

List<Short> list = new ArrayList<>();
list.add(a); // нельзя добавить примитив напрямую, но автоупаковка позволяет

Таким образом, Short нужен для работы с объектами, а short — для эффективного хранения чисел.