Почему во всех примерах, я вижу вот такое:
Integer a = new Integer(242); - хотя этот вариант деприкейтед, в идее прям зачеркивает этот код.
Почему никто не показывает вот такой пример?:
Integer a = 242;
Чем отличается первый вариант Integer a = new Integer(242);
от второго Integer a = 242;?
Почему пишут Integer a = new Integer(242); во всех туториалах?
Главная разница в том, что
Integer a = new Integer(242);
всегда создаёт новый обьект.
А выражение
Integer a = 242;
равносильно выражению
Integer a = Integer.valueOf(242);
и создаст новый объект, только если он не входит в диапазон значений от -128 до 127. Если же входит, ссылке будет присвоен обьект из кэша класса Integer.
Почему во всех примерах, я вижу вот такое: Integer a = new Integer(242); - хотя этот вариант деприкейтед
Потому, что этот конструктор был признан устаревшим только в JDK 9, а многие примеры, вероятно, основаны на более ранних версиях JDK.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей