>То есть, в 2001 году, кроме как new Integer(80) и Boolean.TRUE, это
>больше никак записать нельзя было??? Оо Ликбез started:
Для целей оптимизации производительности в Java есть возможность работать
с примитивными типами "необъектным" способом. Скажем, арифметические операции
выполняются над примитивными типами (int, long, float, ...), логические -
над типом boolean.
Специфика примитивных типов состоит в том, что на них нельзя получить ссылку,
что создаёт возможности для ряда важных оптимизаций. Указателей же в Java,
как мы знаем, нет (костыль!).
Для каждого примитивного типа определён симметричный объектный тип-контейнер,
на который таки можно получить ссылку, и экземпляр которого хранит ровно одно
значение соответствующего примитивного типа.
Сиречь:
// Переменной присвоили значение 80
int n1 = 80;
// Создали объект-контейнер для целочисленного значения 80
Integer n2 = new Integer(n1);
// Булевой переменной присвоили результат сравнения двух целых чисел
boolean b1 = (n1 == 80);
// Создали объект-контейнер для булевого значения true
Boolean b2 = new Boolean(b1);
// А затем присвоили значение "ссылка на ложь".
b2 = Boolean.FALSE;
Начиная с Java 1.5, в язык был добавлен синтаксический сахар "автобоксинга",
который позволяет ссылаться на значения примитивных типов как на объекты без
явного создания контейнеров.