(Java面试题 )什么是装箱?什么是拆箱?装箱和拆箱的执行过程?常见问题?
什么是装箱?什么是拆箱?装箱和拆箱的执行过程?常见问题?
1. 什么是拆箱?什么是装箱?
-
装箱:是将基本类型转变为包装类型的过程
-
拆箱:是将包装类型转变为基本类型的过程
2. 拆箱和装箱的执行过程?
- 装箱是通过调用包装器类的ValueOf方法来实现的
- 拆箱是通过调用包装器类的xxxValue方法实现的。xxx是指基本数据类型
3. 常见的问题?
-
整型的包装类valueOf方法返回的对象时,在常用的取值范围内(-128~127),会返回缓存对象。
-
浮点型的包装类valueOf方法返回对象时,会返回新的对象。
-
布尔型的包装类valueOf方法 Boolean类的静态常量 TRUE | FALSE。
-
包含算术运算符的会触发自动拆箱
-
存在大量的自动装箱过程时,如果包装类返回的对象不是从缓存中获取的,会创建许多新的对象,比较消耗内存。