动力节点口口相传的Java黄埔军校
java基本类型和包装类的区别
2019-09-04 来源:动力节点


今天动力节点java培训机构小编为java零基础学员介绍“java基本类型和包装类的区别”,希望看完此文对大家有帮助,下面就随小编一起看看java基本类型和包装类的区别都有哪些?


Java中基本数据类型与包装类型都包括哪些,具体请看下表:


1.png


  存在基本类型对应包装类的原因:


  基本数据类型存方在栈中,效率更高


  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



开班信息

同类文章

微信搜索“动力节点Java学院“或扫二维码

关注官方微信免费领学习资料

动力节点Java培训机构,行业口碑最好的Java培训机构。

立即抢名额