Я говорю с точки зрения сериализации Java:
В то время как int
является примитивным типом, который хранит только значение переменной (в двоичном виде), объект Integer
(используя * 1005)*) будет хранить некоторые «метаданные», которые при десериализации будут видеть объект Integer
.
Да, сериализация хранит не только объект, но и состояния объекта, поэтому если вы сохраняете,
private Integer value = 5;
Значение «обернуто» (отсутствие лучшего слова) внутри Integer
, и весь объект сохраняется.
Добавлено примечание: в порядке не чтобы сохранить объект / переменную, пометьте поле с помощью transient
, .eg
transient private Integer value = 5;
Связанные ресурсы: