Классы-оболочки. Метод valueOf()

Классы-оболочки. Метод valueOf()

Классы-оболочки Character, Byte, Short, Integer содержат в себе вложенный статический класс, который хранит в своём массиве значения от -128 до 127.

Когда создаётся объект одной из этих оболочек с помощью метода valueOf(), то сначала метод проверяет, находится ли переданное значение в диапазоне от -128 до 127. Если да, то метод возвращает ссылку на значение из своего массива, если нет - создаёт новый объект.

При каждом вызове оператора new будет создаваться новый объект, независимо от переданного значения.


Long var1 = Long.valueOf(123);
Long var2 = Long.valueOf("123");
System.out.println(var1 == var2); // true

Long var3 = Long.valueOf(223);
Long var4 = Long.valueOf(223);
System.out.println(var3 == var4); // false
Типы данных