今天长沙牛耳教育java培训机构小编为java零基础学员介绍“java基本类型和包装类的区别”,希望看完此文对大家有帮助,下面就随小编一起看看java基本类型和包装类的区别都有哪些?
Java中基本数据类型与包装类型都包括哪些,具体请看下表:
存在基本类型对应包装类的原因:
基本数据类型存方在栈中,效率更高
new出来的对象存在于堆中(通过栈中的引用来使用这些对象),是一个对象,因此具有更多的诸如“转换”的方法
java包装类型的意义
Java是一个面相对象的编程语言,基本类型并不具有对象的性质,为了让基本类型也具有对象的特征,就出现了包装类型(如我们在使用集合类型Collection时就一定要使用包装类型而非基本类型),它相当于将基本类型“包装起来”,使得它具有了对象的性质,并且为其添加了属性和方法,丰富了基本类型的操作。
另外,当需要往ArrayList,HashMap中放东西时,像int,double这种基本类型是放不进去的,因为容器都是装object的,这时就需要这些基本类型的包装器类了。
基本类型和包装类转换:
以int和Integer为例(Java5前):
1、int转Integer
int i = 0;
Integer ii = new Integer(i);
2、Integer转int
Integer ii = new Integer(0);
int i = ii.intValue();
基本类型和包装类的区别:
1、声明方式不同:
基本类型不使用new关键字,而包装类型需要使用new关键字来在堆中分配存储空间;
2、存储方式及位置不同:
基本类型是直接将变量值存储在栈中,而包装类型是将对象放在堆中,然后通过引用来使用;
3、初始值不同:
基本类型的初始值如int为0,boolean为false,而包装类型的初始值为null;‘
4、使用方式不同:
基本类型直接赋值直接使用就好,而包装类型在集合如Collection、Map时会使用到。
自动装箱和拆箱
在Java SE5之前,如果要生成一个数值为10的Integer对象,必须这样进行:
Integer i = new Integer(10);
而在从Java SE5开始就提供了自动装箱的特性,如果要生成一个数值为10的Integer对象,只需要这样就可以了:
Integer i = 10;
这个过程中会自动根据数值创建对应的 Integer对象,这就是装箱。
那什么是拆箱呢?顾名思义,跟装箱对应,就是自动将包装器类型转换为基本数据类型:
Integer i = 10; //装箱
int n = i; //拆箱
装箱就是自动将基本数据类型转换为包装器类型;拆箱就是 自动将包装器类型转换为基本数据类型。
以上就是长沙牛耳教育java培训机构小编介绍的“java基本类型和包装类的区别”的内容,希望对大家有帮助,更多精彩内容请继续关注长沙牛耳教育java培训机构官网。
相关免费视频教程推荐
java包装类的基本操作(视频教程下载):http://www.bjpowernode.com/xiazai/2525.html