java自动拆装箱如何实现

1.自动装箱

有时候需要将基本类型转换为引用类型对象,比如int转化为integer

自动装箱例子: (基本数据类型—>引用数据类型)

 Integer  i = 10; 相当于Integer i = newInteger(10);

1.2常见的基本数据类型

基本数据类型 包装类
byte Byte
boolean Boolean
short Short
char Character
int Integer
long Long
float Float
double Double

为什么需要包装类
很多人会有疑问,既然Java中为了提高效率,提供了八种基本数据类型,为什么还要提供包装类呢?

这个问题,其实前面已经有了答案,因为Java是一种面向对象语言,很多地方都需要使用对象而不是基本数据类型。比如,在集合类中,我们是无法将int 、double等类型放进去的。因为集合的容器要求元素是Object类型。

为了让基本类型也具有对象的特征,就出现了包装类型,它相当于将基本类型“包装起来”,使得它具有了对象的性质,并且为其添加了属性和方法,丰富了基本类型的操作。

2.自动拆箱

引用数据类型—>基本数据类型

例子:Integer  m = 10;  int n = m;相当于n =m.intValue();

m变量在自动装箱为Integer的实例后,如果被赋值给一个int类型的变量n,则会自动转换为int类型再赋值

 运算式,可以进行自动装箱和拆箱;

你可能感兴趣的:(java)