Spec-Zone .ru
спецификации, руководства, описания, API
След: Изучение Языка Java
Урок: Числа и Строки
Раздел: Числа
Классы Чисел
Домашняя страница > Изучение Языка Java > Числа и Строки

Классы Чисел

Работая с числами, большую часть времени Вы используете типы примитивов в своем коде. Например:

int i = 500;
float gpa = 3.65f;
byte mask = 0xff;

Есть, однако, причины использовать объекты вместо примитивов, и платформа Java обеспечивает классы обертки для каждого из примитивных типов данных. Эти классы "обертывают" примитив в объект. Часто, обертывание делается компилятором — если Вы используете примитив, где объект ожидается, поля компилятора примитив в его обертке class для Вас. Точно так же, если Вы используете объект числа, когда примитив ожидается, компилятор распаковывает объект для Вас.

Вот пример упаковки и распаковывания:

Integer x, y;
x = 12;
y = 15;
System.out.println(x+y);

Когда x и y присвоенные целочисленные значения, поля компилятора целые числа потому что x и y целочисленные объекты. В println() оператор, x и y распаковываются так, чтобы они могли быть добавлены как целые числа.

Все числовые классы обертки являются подклассами абстрактного class Number:

Иерархия class Числа.

Отметьте: есть четыре других подкласса Number это не обсуждается здесь. BigDecimal и BigInteger используются для вычислений высокой точности. AtomicInteger и AtomicLong используются для многопоточных приложений.

Есть три причины, что Вы могли бы использовать a Number возразите, а не примитив:

  1. Как параметр метода, который ожидает объект (часто используемый, управляя наборами чисел).
  2. Использовать константы, определенные class, такой как MIN_VALUE и MAX_VALUE, это обеспечивает верхние и нижние границы типа данных.
  3. Использовать методы class для того, чтобы преобразовать значения в и от других типов примитивов, для того, чтобы преобразовать в и от строк, и для того, чтобы преобразовать между системами счисления (десятичный, восьмеричный, шестнадцатеричный, двоичный).

Следующая таблица приводит методы экземпляра что все подклассы Number Реализация class.

Методы, Реализованные всеми Подклассами Числа
Метод Описание
byte byteValue()
short shortValue()
int intValue()
long longValue()
float floatValue()
double doubleValue()
Преобразовывает значение этого Number возразите против примитивного возвращенного типа данных.
int compareTo(Byte anotherByte)
int compareTo(Double anotherDouble)
int compareTo(Float anotherFloat)
int compareTo(Integer anotherInteger)
int compareTo(Long anotherLong)
int compareTo(Short anotherShort)
Сравнивает это Number возразите против параметра.
boolean equals(Object obj) Определяет, равен ли этот объект числа параметру.
Возврат методов true если параметр не null и объект того же самого типа и с тем же самым числовым значением.
Есть некоторые дополнительные требования для Double и Float объекты, которые описываются в документации API Java.

Каждый Number class содержит другие методы, которые полезны для преобразования чисел в и от строк и для того, чтобы преобразовать между системами счисления. Следующая таблица приводит эти методы в Integer class. Методы для другого Number подклассы подобны:

Методы преобразования, Integer Класс
Метод Описание
static Integer decode(String s) Декодирует строку в целое число. Может принять строковые представления десятичных, восьмеричных, или шестнадцатеричных чисел как входной.
static int parseInt(String s) Возвращает целое число (десятичное число только).
static int parseInt(String s, int radix) Возвращает целое число, учитывая строковое представление десятичного числа, двоичного, восьмеричного, или шестнадцатеричный (radix равняется 10, 2, 8, или 16 соответственно), числа как входной.
String toString() Возвраты a String объект, представляющий значение этого Integer.
static String toString(int i) Возвраты a String объект, представляющий указанное целое число.
static Integer valueOf(int i) Возвраты Integer объект, содержащий значение указанного примитива.
static Integer valueOf(String s) Возвраты Integer объект, содержащий значение указанного строкового представления.
static Integer valueOf(String s, int radix) Возвраты Integer объект, содержащий целочисленное значение указанного строкового представления, проанализированного со значением основания. Например, если s = "333" и основание = 8, метод возвращает основу десять целочисленных эквивалентов восьмеричного числа 333.

Проблемы с примерами? Попытайтесь Компилировать и Выполнить Примеры: FAQ.
Жалобы? Поздравление? Предложения? Дайте нам свою обратную связь.

Предыдущая страница: Числа
Следующая страница: Форматирование Числового Вывода Печати