一、学过java的应该都知道Java有八种基本数据类型:byte,short,int,long,float,double,boolean,char.
其对应的包装类型为:Byte,Short,Integer,Long,Float,Double,Boolean,Charcter.
java分为基本数据类型和引用数据类型,而包装类型就是基本数据类型对应的引用类型。为了满足java语言面向对象这一特性,基本数据类型中的每一个在java.lang包中都有一个包装类,即每一个基本类型都包装成了一个类。
二、包装类的一些特征
1.所有包装类型都可以将与之对应的基本数据类型作为参数来创建它们的实例对象;
2.除了Character类之外,其他包装类都可以将一个字符串作为参数来构造它们的实例;
3.Boolean类的构造方法参数为String类型时,若该字符串为true(不论大小写),则该对象表示true,否则表示false;
4.当包装类Number(Byte,Short,Integer,Long,Float,Double)构造方法的参数为String类型时,字符串不能为null,并且该字符串必须能够解析为基本类型的数据。
三、两种类型之间的区别:
1.声明方式不同,基本类型不适用new关键字,而包装类型需要使用new关键字在堆中分配存储空间;
2.存储方式及位置不同,基本类型是直接将变量值存储在栈中,而包装类型是将对象放在堆中,然后通过引用来使用;
3.初始值不同,基本类型的初始值如int为0,boolean为false,而包装类型的初始值为null(注:在堆里开辟对象,如果对象有属性值没有赋值,那么一定会有一个默认值,
基本数据类型的boolean默认为false
char默认值为空格\u0008
float、double默认值为0.0
byte、short、Int、long默认值为0
引用数据类型默认值为null);
4.使用方式不同,基本类型直接赋值直接使用就好,而包装类型在集合如Collection、Map时会使用到。