Files
roma-dxunvrs 4fabe16272 04.09
2026-09-04 22:55:43 +03:00

1.3 KiB
Raw Permalink Blame History

Обертки: Integer, Long, Byte, Short, Float, Double, Character, Boolean Больше памяти и медленнее, но много полезным методов и являются объектами (можно использовать в дженериках)

Автоупаковка/автораспаковка

int primitive = 42;
Integer wrapper;

wrapper = primitive; // автоупаковка
// на самом деле так
wrapper = Integer.valueOf(primitive);

primitive = wrapper + 1; // автораспаковка + сложение
// на самом деле так
privmitive = wrapper.intValue() + 1;

Тонкость с кешированием

Integer int1 = 42;
Integer int2 = 42;
int1==int2; // true

int1 = 452;
int2 = 452;
int1==int2; // false

Для интов значения от -128 до 127 - кешируются, поэтому сравнение сработало Но лучше всегда через equals(), так как работаем с объектами

Иерархия

Все обертки - потомки Number Методы Number:

  • intValue()
  • byteValue()
  • shortValue()
  • longValue()
  • floatValue()
  • doubleValue()

Заметка о Character