Иллюстрированный самоучитель по Java

Классы-оболочки

Java – полностью объектно-ориентированный язык. Это означает, что все, что только можно, в Java представлено объектами.

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

Но и для этих типов в языке Java есть соответствующие классы – классы-оболочки (wrapper) примитивных типов. Конечно, они предназначены не для вычислений, а для действий, типичных при работе с классами – создания объектов, преобразования объектов, получения численных значений объектов в разных формах и передачи объектов в методы по ссылке.

На рис. 4.1 показана одна из ветвей иерархии классов Java. Для каждого примитивного типа есть соответствующий класс. Числовые классы имеют общего предка – абстрактный класс Number, в котором описаны шесть методов, возвращающих числовое значение, содержащееся в классе, приведенное к соответствующему примитивному типу: bytevalue (), doubievalue (), floatValue (), intValue(), longValue (), shortValue (). Эти методы переопределены в каждом из шести числовых классов-оболочек.

Иллюстрированный самоучитель по Java › Классы-оболочки › Классы-оболочки
Рис. 4.1. Классы примитивных типов

Помимо метода сравнения объектов equals (), переопределенного из класса object, все описанные в этой главе классы, кроме Boolean и class, имеют метод compareTo (), сравнивающий числовое значение, содержащееся в данном объекте, с числовым значением объекта – аргумента метода compareTo(). В результате работы метода получается целое значение:

  • 0, если значения равны;
  • отрицательное число (-1), если числовое значение в данном объекте меньше, чем в объекте-аргументе;
  • положительное число (+1), если числовое значение в данном объекте больше числового значения, содержащегося в аргументе.

Что полезного в классах-оболочках?

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.