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

欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入

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

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

君子无故,玉不去身。

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

相关文章:

你感兴趣的文章:

标签云: