Главная » Java » Классы-оболочки: общий обзор

0

Для большинства примитивных типов в языке Java существуют классы, представляющие значения данного типа. Эти классы-оболочки  обладают двумя основными функциями. Первая — в них находятся методы и переменные, относящиеся к типу (например, методы строковых преобразований и константы для границ диапазона). Следующий пример показывает, как можно проверить, допустимо ли для данной величины выполнение быстрых вычислений типа float или же ее диапазон выходит за границы, разрешенные для float:

if (value >= Float.MIN_VALUE && value <= Float.MAX_VALUE)

return fasterFloatCalc((float)value);

else

return slowerDoubleCalc(value);

Вторая функция заключается в возможности создания объектов, содержащих значения определенного примитивного типа, для универсальных классов, умеющих работать только со ссылками на Object. Например, объекты Hash table могут содержать только ссылки на Object, а не на примитивные типы. Чтобы использовать int в качестве ключа или элемента в объекте Hashtable, необходимо создать объект Integer, содержащий нужное значение:

Integer keyObj = new Integer(key);

map.put(keyObj, value);

В оставшейся части этой главы рассматриваются методы и константы, входящие в классы- оболочки Java. Некоторые из них являются общими для всех классов, поэтому они будут упомянуты до того, как мы перейдем к конкретным классам.

Следующие конструкторы и методы присутствуют во всех классах-оболочках:

Конструктор, который получает значение примитивного типа и создает объект класса (например, конструктор Character(char)).

Конструктор, который определяет исходное значение объекта по единственному параметру типа St ring.

Метод toString, который возвращает строковое представление объекта.

Метод typeValue, который возвращает значение примитивного типа — например, Character.charValue  или Boolean.booleanValue.

Метод equals, который определяет, равны ли между собой объекты, относящиеся к одному классу.

Метод hashCode, который возвращает хеш-код, используемый в хеш-таблицах.

Эти методы имеются в каждом из классов-оболочек,  поэтому они не приводятся в приведенных ниже описаниях для конкретных классов. Методы выборки и декодирования системных свойств рассматриваются  в разделе “Системные свойства” и также отсутствуют в описаниях классов.

Термин “основание”, иногда используемый в классах-оболочках,  соответствует термину “основание системы счисления”. Например, декодирование значения long по основанию 8 означает то же самое, что и перевод в восьмеричную систему счисления.

13.4. Класс Boolean

Класс Boolean служит для представления логического типа boolean. Метод valueOf и конструктор со строковым параметром считают, что строка “true” при любом сочетании символов верхнего и нижнего регистра соответствует true; любая другая строка интерпретируется  как false.

Источник: Арнольд К., Гослинг Д. – Язык программирования Java (1997)

По теме:

  • Комментарии