Java面试题十:Java的自动装箱与拆箱(Autoboxing and unboxing)

0、相关

java 什么是拆箱和装箱

1、什么是自动装箱拆箱

很简单,下面两句代码就可以看到bai装箱和拆箱过程

//自动装箱
Integer total = 99;
 
//自定拆箱
int totalprim = total;

简单一点说,装箱就是自动将基本数据类型转换为包装器类型;拆箱就是自动将包装器类型转换为基本数据类型。

下面我们来看看需要装箱拆箱的类型有哪些:

Java面试题十:Java的自动装箱与拆箱(Autoboxing and unboxing)_第1张图片

Java面试题十:Java的自动装箱与拆箱(Autoboxing and unboxing)_第2张图片

2、为什么会有装箱和拆箱的出现?

是java早年设计缺陷。基础类型是数据,不是对象,也不是Object的子类。
需要装箱才能和其他Object的子类共用同一个接口。
比如foo(Object o)

 

注意: 
1、什么时候会引发装箱和拆箱 
2、装箱操作会创建对象,频繁的装箱操作会消耗许多内存,影响性能,所以可以避免装箱的时候应该尽量避免。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(Java面试题)