首页 > 代码库 > 浅析java中的包装类

浅析java中的包装类

1.包装类的介绍

java是面向对象计算机语言但是不是完全的面向对象,8种基本数据类型不是面向对象的,但是java给我们创建了8种类来对这几种基本数据类型来创建对象,这8种类统称为包装类。具体如下:

技术分享

其中除Boolean和char类之外的6种类又构成了父类Number的一部分。

2.为何要使用包装类

包装类可以用对象可以极大的丰富对基本类型数据的操作,最常见的就是进制的转换和字符串转换为基本数据类型。但是因为使用包装类要创建对象,在堆内存中开辟空间,而基本数据类型只停留栈内存中,所以运行效率和占用资源比基本类型数据多,所以对于没必要创建包装类的不必创建包装类。

3.自动装拆箱

在jdk5.0以后引入了自动装拆箱方便了书写,具体如下:

 

 1 package wrapper;
 2 
 3 public class New 
 4 {
 5     public static void main(String[] args)
 6     {
 7         Double d1=new Double(3.14);//标准形式。
 8         Double d2=3.14;//自动装箱,编译时编译器自动修改为上面的那种形式然后创建。
 9         double d3=d1.doubleValue();//标准形式。
10         double d4=d1;//自动拆箱。
11     }
12 }

 

4.常见的包装类方法

 1 package wrapper;
 2 
 3 public class First 
 4 {
 5     public static void main(String[] args)
 6     {
 7         String a="1234";
 8         int b=Integer.parseInt(a);//将字符串转换为基本数据类型
 9         System.out.println(b+10);
10         int c=0723;
11         String d=""+c;
12         System.out.println(Integer.parseInt(d, 10));//进制转换,返回为基本数据类型,前面的参数为转换前的数(可以为字符),后面的参数为转换为什么进制。
13         Integer w=Integer.valueOf(c);//将基本数据类型转换为包装类
14         int m=w.intValue();
15         System.out.println(m);
16         String s=Integer.toBinaryString(c);//进制转换,返回为字符串。这个为转换为2进制,toOctalString为8进制,toHexString为16进制。
17         System.out.println(s);
18         System.out.println(Integer.compare(b, c));//可以直接比较基本数据类型,相等返回0,大返回1.小返回-1。
19         Double y=new Double(3.14);
20         Double x=new Double(2.14);
21         System.out.println(x.compareTo(y));//也可以比较包装类对象
22     }
23 }

 

浅析java中的包装类