首先说一下Java中的包装类,Java语言是一个面向对象的语言,但是Java中的基本数据类型却不是面向对象的,这在实际使用时存在很多的不便(比如,我们不能直接想集合Collections中放入原始类型值,因为集合只接收对象)。为了解决这个不足,在设计类的是为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class)。
基本数据类型
包装类
byte
Byte
boolean
Boolean
short
Short
char
Character
int
Integer
long
Long
float
Float
double
Double
自动装箱就是Java自动将原始类型转化为对应的对象,比如将int的变量转化为Integer对象,这个过程叫做装箱,反之将Integer对象转化为int对象,这个过程叫做拆箱。又因为这个过程是自动发生的,所以又叫自动装箱,自动拆箱。
ArrayList<Integer> arrayList = new ArrayList<Integer>(); arrayList.add(1); //自动装箱 int --> Integer int number = arrayList.get(0); //自动拆箱 Integer --> int