Наиболее часто используемые статические методы:
public static int parseInt(String s) – преобразует строку, представляющую десятичную запись целого числа, в int;
public static int parseInt(String s, int radix) – преобразует строку, представляющую запись целого числа в системе счисления radix, в int.
Оба метода могут возбуждать исключение NumberFormatException, если строка, переданная на вход, содержит нецифровые символы.
Не следует путать эти методы с другой парой похожих методов:
public static Integer valueOf(String s) public static Integer valueOf(String s, int radix)
Данные методы выполняют аналогичную работу, только результат представляют в виде объекта-обертки.
Существует также два конструктора для создания экземпляров класса Integer:
Integer(String s) – конструктор, принимающий в качестве параметра строку, представляющую числовое значение.
Integer(int i) – конструктор, принимающий числовое значение.
public static String toString(int i) – используется для преобразования значения типа int в строку.
Далее перечислены методы, преобразующие int в строковое восьмеричное, двоичное и шестнадцатеричное представление:
pubic static String toOctalString(int i) – восьмеричное;
pubic static String toBinaryString(int i) – двоичное;
pubic static String toHexString(int i) – шестнадцатеричное.
Имеется также две статические константы:
Integer.MIN_VALUE – минимальное int значение;
Integer.MAX_VALUE – максимальное int значение.
Аналогичные константы, описывающие границы соответствующих типов, определены и для всех остальных классов-оберток числовых примитивных типов.
public int intValue() возвращает значение примитивного типа для данного объекта Integer. Классы-обертки остальных примитивных целочисленных типов – Byte, Short, Long – содержат аналогичные методы и константы (определенные для соответствующих типов: byte, short, long).
Рассмотрим пример:
public static void main(String[] args) { int i = 1; byte b = 1; String value = "1000"; Integer iObj = new Integer(i); Byte bObj = new Byte(b); System.out.println("while i==b is " + (i==b)); System.out.println("iObj.equals(bObj) is " + iObj.equals(bObj)); Long lObj = new Long(value); System.out.println("lObj = " + lObj.toString()); Long sum = new Long(lObj.longValue() + iObj.byteValue() + bObj.shortValue()); System.out.println("The sum = " + sum.doubleValue()); }
В данном примере произвольным образом используются различные варианты классов-оберток и их методов. В результате выполнения на экран будет выведено следующее:
while i==b is true iObj.equals(bObj) is false lObj = 1000 The sum = 1002.0
Оставшиеся классы-обертки числовых типов Float и Double, помимо описанного для целочисленных примитивных типов, дополнительно содержат определения следующих констант (они подробно разбирались в лекции 4):
NEGATIVE_INFINITY – отрицательная бесконечность;
POSITIVE_INFINITY – положительная бесконечность;
NaN – нечисловое значение.
Кроме того, другой смысл имеет значение MIN_VALUE – вместо наименьшего значения оно представляет минимальное положительное (строго > 0) значение, которое может быть представлено этим примитивным типом.
Кроме классов-оберток для примитивных числовых типов, таковые определены и для остальных примитивных типов Java.