Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
GoslingJava2.doc
Скачиваний:
139
Добавлен:
23.02.2016
Размер:
2.39 Mб
Скачать

13.6. Класс Number

Абстрактный класс Number расширяется всеми классами-оболочками, представляющими числовые примитивные типы: Integer, Long, Float и Double. Каждый из этих классов содержит конструкторы, которые присваивают объекту либо значение соответствующего примитивного типа, либо представляющей его строки. В том случае, если строка неверна, конструктор со строковым параметром возбуждает исключение NumberFormatException.

Абстрактные методы Number возвращают значение объекта, преобразованное в один из следующих числовых типов:

public int intValue()

public int longValue()

public int floatValue()

public int doubleValue()

Каждый класс, расширяющий Number, переопределяет эти методы для преобразования своего типа в любой другой по тем же правилам, которые применяются при явном приведении типов. Например, для объекта Float со значением 32.87 метод intValue возвращает 32— столько же, сколько дает выражение (int)32.87.

Кроме того, каждый числовой класс содержит следующие методы и константы:

  • Статический метод toString(тип), который возвращает объект String для заданного значения примитивного типа. Если строка не подходит к формату данного типа, конструктор возбуждает исключение Number FormatException.

  • Статический метод valueOf(String), который возвращает объект числового типа по строке. Все эти методы возбуждают NumberFormatException, если содержимое строки не является допустимым представлением примитивного типа.

  • Статические final-константы с именами MIN_VALUE и MAX_VALUE для минимального и максимального значения, принимаемого переменными типа.

13.7. Класс Integer

Класс Integer расширяет Number и служит для представления типа int в виде класса. Для типов short и byte классы-оболочки отсутствуют, поэтому соответствующие значения должны храниться в объектах Integer. Помимо стандартных методов класса Number, класс Integer содержит следующие методы:

public static int parseInt(String str, int radix)

throws NumberFormatException

Возвращает значение типа int, вычисленное по строке str в системе счисления с заданным основанием radix. Если преобразование с заданнымоснованием невозможно, возбуждается исключение NumberFormat Exception.

public static int parseInt(String str)throws NumberFormatException

Эквивалентен parse Int(str, 10).

public static Integer valueOf(String str, int radix)throws NumberFormatException

Аналогично parseInt(str, Radix), за исключением того, что вместо int возвращается объект Integer.

public static String toString(int i, int radix)

Дополнительный статический метод, который возвращает объект String, представляющий i в системе счисления с заданным основанием radix. Стандартный метод toString предполагает работу в десятичной системе счисления.

Кроме того, имеется три статических метода toHexString, toOctal String и toBinaryString, которые преобразуют аргумент типа int в шестнадцатеричную, восьмеричную или двоичную строку соответственно.

13.8. Класс Long

Класс Long расширяет Number и служит для представления типа long в виде класса. Помимо стандартных для Number методов, класс Long содержит следующие методы:

public static long parseLong(String str, int radix)throws NumberFormatException

Возвращает значение типа long, вычисленное по строке str в системе счисления с заданным основанием radix. Если строка не может быть преобразована в long с заданным основанием, возбуждается исключение NumberFormatException.

public static long parseLong(String str)throws NumberFormatException

Эквивалентен parseLong(str, 10).

public static Long valueOf(String str, int radix)throws NumberFormatException

Аналогично parseLong(str, radix), за исключением того, что вместо long возвращается объект Long.

public static String toString(long l, int radix)

Дополнительный статический метод, который возвращает объект String, представляющий l в системе счисления с заданным основанием radix. Стандартный метод toString предполагает работу в десятичной системе счисления.

По аналогии с эквивалентными методами Integer, статические методы toHexString, toOctalString и toBinaryString преобразуют аргумент типа long в шестнадцатеричную, восьмеричную или двоичную строку соответственно.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]