Класс обёртка Integer

168
23 августа 2021, 11:20

Почему во всех примерах, я вижу вот такое:
Integer a = new Integer(242); - хотя этот вариант деприкейтед, в идее прям зачеркивает этот код.
Почему никто не показывает вот такой пример?:

Integer a = 242;

Чем отличается первый вариант Integer a = new Integer(242);
от второго Integer a = 242;?
Почему пишут Integer a = new Integer(242); во всех туториалах?

Answer 1

Главная разница в том, что

Integer a = new Integer(242);

всегда создаёт новый обьект.

А выражение

Integer a = 242;

равносильно выражению

Integer a = Integer.valueOf(242);

и создаст новый объект, только если он не входит в диапазон значений от -128 до 127. Если же входит, ссылке будет присвоен обьект из кэша класса Integer.

Почему во всех примерах, я вижу вот такое: Integer a = new Integer(242); - хотя этот вариант деприкейтед

Потому, что этот конструктор был признан устаревшим только в JDK 9, а многие примеры, вероятно, основаны на более ранних версиях JDK.

READ ALSO
Как сделать зависимость между кнопкой и option?

Как сделать зависимость между кнопкой и option?

Как в зависимости от выбранной опции тега select, содержащей data-id, привязать его к кнопке, те при выборе 1, кнопка получала data-id = 1 и тд

87
SyntaxError: Unexpected token =

SyntaxError: Unexpected token =

подскажите пожалуйста при запуске данного кода мне выдаётся ошибка

297
как получить сумму значений переменных в цикле for

как получить сумму значений переменных в цикле for

как на JS получить сумму переменных обрабатываемых в цикле for ? и вынести эту сумму за цикл ?

81
Как получить title страницы в шаблоне nuxt?

Как получить title страницы в шаблоне nuxt?

Как получить title страницы в шаблоне nuxt если title задан в отдельном файле который является частью общего шаблона?

156