Ответ 1
Ты можешь использовать
Integer integer = Integer.valueOf(i);
Устаревшее. Использование этого конструктора редко бывает целесообразным. Статический заводской valueOf (int), как правило, лучший выбор, поскольку он, вероятно, даст значительно лучшую производительность пространства и времени. Создает новый выделенный объект Integer, который представляет указанное значение int.
Основное различие заключается в том, что вы не всегда получите новый экземпляр с valueOf
поскольку небольшие экземпляры Integer кэшируются.