Язык программирования Java является одним из самых популярных в настоящее время. С такими понятиями, как переменные, типы данных, классы и объекты, приходит еще одна важная концепция класса-оболочки в Java, которая необходима для синхронизации в многопоточности, сборочной среде и т.д.
Класс Wrapper предоставляет механизм для преобразования примитивных типов данных в объекты класса-оболочки. Ниже приведены эквивалентные объекты классов-оболочек примитивных типов данных.
| Примитивный тип данных | Класс Wrapper |
| int | Integer |
| char | Character |
| float | Float |
| boolean | Boolean |
| double | Double |
| short | Short |
| long | Long |
| byte | Byte |
Ниже приведен пример, демонстрирующий, как вы можете создать объект класса.
class wrapperClass{
public static void main(String args[]){
Integer myInt = 5;
Character myChar = "Edureka";
System.out.println(myInt);
System.out.println(myChar);
}
}
Output : 5 Edureka
В приведенной выше программе мы использовали класс-оболочку вместо примитивных типов данных.
Ниже приведены методы для получения связанного значения из объектов-оболочек.
- intValue();
- byteValue();
- shortValue();
- longValue();
- doubleValue();
- charValue();
- floatValue();
- booleanValue().
Ниже приведен пример использования этих методов в программе:
class wrapperClass{
public static void main(String args[]){
Integer myInt = 10;
Character myChar = "edureka";
Float myFloat = 10.25;
System.out.println(myInt.intValue());
System.out.println(myChar.charValue());
System.out.println(myFloat.floatValue());
}
}
Output : 10 edureka 10.25
Точно так же вы можете использовать другие методы, такие как doubleValue(), shortValue(), longValue(), byteValue(), чтобы получить соответствующие значения объектов класса-оболочки.
Информация
- Преобразует примитивные типы данных в объекты.
- Объекты необходимы для изменения аргументов в методе.
- Классы в пакете java.util работают только с объектами.
- Структуры данных в структуре коллекции хранят только объекты.
- Объекты помогают в синхронизации в многопоточности.
Autoboxing
Автобокс — это автоматическое преобразование примитивных типов данных в объекты их соответствующего класса-оболочки.
import java.util.ArrayList;
class Autoboxing {
public static void main(String args[]){
char ch = 'e';
Character e = ch;
ArrayList<Integer> arraylist = new ArrayList<Integer>();
arraylist.add(10);
System.out.println(arraylist.get(0));
}
}
Output : 10
Распаковка
Это обратная сторона автобокса, когда объект класса-оболочки конвертируется в соответствующий им примитивный тип данных.
import java.util.ArrayList;
class Unboxing{
public static void main(String args[])
{
Character ch = 'e';
char 'e' = ch;
ArrayList<Integer> arraylist = new ArrayList<Integer>();
arraylist.add(10);
int number = arraylist.get(0);
System.out.println(number);
}
}
Output: 10
