Классы-оболочки Java
Классы-оболочки Java
Классы-оболочки позволяют использовать примитивные типы данных ( int
, boolean
, и т. д.) в качестве объектов.
В таблице ниже показаны примитивный тип и эквивалентный класс-оболочка:
Primitive Data Type | Wrapper Class |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
boolean | Boolean |
char | Character |
Иногда необходимо использовать классы-оболочки, например при работе с объектами Collection, такими как ArrayList
, где нельзя использовать примитивные типы (список может хранить только объекты):
Пример
ArrayList<int> myNumbers = new ArrayList<int>(); // Invalid
ArrayList<Integer> myNumbers = new ArrayList<Integer>(); // Valid
Создание объектов-оболочек
Чтобы создать объект-оболочку, используйте класс-оболочку вместо примитивного типа. Чтобы получить значение, вы можете просто напечатать объект:
Пример
public class Main {
public static void main(String[] args) {
Integer myInt = 5;
Double myDouble = 5.99;
Character myChar = 'A';
System.out.println(myInt);
System.out.println(myDouble);
System.out.println(myChar);
}
}
Поскольку теперь вы работаете с объектами, вы можете использовать определенные методы для получения информации о конкретном объекте.
Например, для получения значения, связанного с соответствующим объектом-оболочкой, используются следующие методы: intValue()
, byteValue()
, shortValue()
, longValue()
,
floatValue()
, doubleValue()
, charValue()
,
booleanValue()
.
Этот пример выведет тот же результат, что и пример выше:
Пример
public class Main {
public static void main(String[] args) {
Integer myInt = 5;
Double myDouble = 5.99;
Character myChar = 'A';
System.out.println(myInt.intValue());
System.out.println(myDouble.doubleValue());
System.out.println(myChar.charValue());
}
}
Еще одним полезным методом является toString()
метод, который используется для преобразования объектов-оболочек в строки.
В следующем примере мы конвертируем Integer
в a String
и используем length()
метод String
класса для вывода длины «строки»:
Пример
public class Main {
public static void main(String[] args) {
Integer myInt = 100;
String myString = myInt.toString();
System.out.println(myString.length());
}
}