|
Spec-Zone .ru
спецификации, руководства, описания, API
|
Работая с числами, большую часть времени Вы используете типы примитивов в своем коде. Например:
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:

Number это не обсуждается здесь. BigDecimal и BigInteger используются для вычислений высокой точности. AtomicInteger и AtomicLong используются для многопоточных приложений. Есть три причины, что Вы могли бы использовать a Number возразите, а не примитив:
MIN_VALUE и MAX_VALUE, это обеспечивает верхние и нижние границы типа данных.Следующая таблица приводит методы экземпляра что все подклассы Number Реализация class.
| Метод | Описание |
|---|---|
byte byteValue() |
Преобразовывает значение этого Number возразите против примитивного возвращенного типа данных. |
int compareTo(Byte anotherByte) |
Сравнивает это Number возразите против параметра. |
boolean equals(Object obj) |
Определяет, равен ли этот объект числа параметру. Возврат методов true если параметр не null и объект того же самого типа и с тем же самым числовым значением.Есть некоторые дополнительные требования для Double и Float объекты, которые описываются в документации API Java. |
Каждый Number class содержит другие методы, которые полезны для преобразования чисел в и от строк и для того, чтобы преобразовать между системами счисления. Следующая таблица приводит эти методы в Integer class. Методы для другого Number подклассы подобны:
| Метод | Описание |
|---|---|
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. |