现在的位置: 首页 > 综合 > 正文

Java中基本数据类型的自动拆箱和装箱

2014年02月03日 ⁄ 综合 ⁄ 共 627字 ⁄ 字号 评论关闭
	【作者:孟祥月   博客:http://blog.csdn.net/mengxiangyue
   我们知道在Java中所有的都是类,我们创建一个类的实例的时候,需要使用关键字new。在Java中给我们提供了基本数据类型的包装类,我们要创建一个基本数据类型的时候我们按照Java默认的语法,需要使用new关键字来创建一个对象。在Java1.4之前对于基本数据类型的包装类只能使用new关键字,但是在Java1.5及以后就给我们提供了一种机制,可以不适用new关键字。
   在Java中对于基本数据类型包装类,我们可以直接使用基本数据来赋值,下面我们看一个例子程序:
     
   在程序中我们直接对i1赋值,没有报错,在后面输出显示的结果也是5,也没有错误。这就证明在Java中,Java虚拟机直接根据我们运行的实际环境给我们将数据类型进行了转换(这里的转换是指在类和基本数据类型之间的转换)。有了上面的例子我们想第11行输出的是true,然后14行输出的也是true。但是最后的结果却是如下:
   5
   true      
   false
   这里读者可能就不明白了,这里我们解释一下这样结果的原因。在Java中对于从-127到128之间的数,因为数据比较小,而且使用的比较频繁,在内存中就保存一份,它们都指向的是同一份,对于其他的数据就分别保存了。说道这里读者应该就清楚了,这里使用了设计模式的享元模式,有兴趣的读者可以自己搜搜。

    感觉语言组织的不好,希望读者能够看懂

抱歉!评论已关闭.