黑马程序员技术交流社区
标题: 自动装箱和拆箱 [打印本页]
作者: 郁金香大公爵 时间: 2015-7-24 09:18
标题: 自动装箱和拆箱
基本数据类型的自动装箱(autoboxing)、拆箱(unboxing)是自JDK1.50开始提供的一种新的功能。
因为有8个基本数据类型,所以对应有8个包装类。这8个包装类分别是:Byte, Short, Integer, Long, Float, Double,Character, Boolean,它们的使用方式都是一样的,通过自动装箱和拆箱可以实现基本数据类型与包装类型的双向转换。
在JDK1.5之前,我们要实现基本类型和包装类之间的转换,是通过包装类提供的方法:Integer i = Integer.valueOf()和int j =i.intValue()来做互相转换的。
JDK1.5之后,编译器会在我们做赋值操作的时候帮我们自动完成基本类型和包装类之间的相互转换,这样一来方便了基本类型数据和它们包装类的使用。
基本数据类型与对象的差别:
基本数据类型不是对象,是使用int、double、boolean等定义出来的变量。
下面我主要以int和Integer作为主要讲解对象:
一、基本数据类型没有可调用的方法:
int t = 1; t.后面是没有方法滴;
二、那么基本类型和包装类之间的转换的过程是怎么样的呢?
通过一个例子来具体描述:
Integer i = 7;
相当于编译器自动为作以下的语法编译:Integer i = Integer.valueOf(7);
装箱完成再看一下拆箱的转换过程:
Integer i = 3;
i = i+ 4;
实际上编译器自动执行了 int t = i.intValue();
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |