您的位置:首页 > 编程语言 > Java开发

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

2011-11-09 22:27 746 查看
我们知道在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之间的数,因为数据比较小,而且使用的比较频繁,在内存中就保存一份,它们都指向的是同一份,对于其他的数据就分别保存了。说道这里读者应该就清楚了,这里使用了设计模式的享元模式,有兴趣的读者可以自己搜搜。

感觉语言组织的不好,希望读者能够看懂。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐