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. |