Автор оригинала: Pankaj Kumar.
Класс-оболочка в java-это объектное представление восьми примитивных типов в java. Все классы-оболочки в java являются неизменяемыми и окончательными.
Java 5 Автобоксы и распаковка позволяет легко преобразовывать примитивные типы и соответствующие им классы-оболочки в программах java.
Класс-оболочка в Java
В таблице ниже показаны примитивные типы и их класс-оболочка в java.
| Байт | байт | байт или строка |
| Короткий | короткий | короткая или струнная |
| Целое число | инт | int или строка |
| Длинный | длинный | длинная или струнная |
| Поплавок | плыть | поплавок, двойной или струнный |
| Двойной | двойной | двойной или струнный |
| Характер | обуглить | обуглить |
| Логический | логический | логическое или строковое значение |
Зачем нам нужны классы-оболочки?
Я думаю, что это было разумное решение-разделить примитивные типы и классы-оболочки, чтобы все было просто. Нам нужны классы-оболочки, когда нам нужен тип, который будет соответствовать объектно-ориентированному программированию, например, классы коллекций . Мы используем примитивные типы, когда хотим, чтобы все было просто.
Примитивные типы не могут быть пустыми, но классы-оболочки могут быть пустыми.
Классы-оболочки могут быть использованы для достижения полиморфизма.
Вот простая программа, показывающая различные аспекты классов-оболочек на java.
Вот простая программа, показывающая различные аспекты классов-оболочек на java.
package com.journaldev.misc;
import java.util.ArrayList;
import java.util.List;
public class WrapperClasses {
private static void doSomething(Object obj){
}
public static void main(String args[]){
int i = 10;
char c = 'a';
//primitives are simple to use
int j = i+3;
//polymorphism achieved by Wrapper classes, we can't pass primitive here
doSomething(new Character(c));
List list = new ArrayList();
//wrapper classes can be used in Collections
Integer in = new Integer(i);
list.add(in);
//autoboxing takes care of primitive to wrapper class conversion
list.add(j);
//wrapper classes can be null
in = null;
}
}