唯一浩哥

架构之路----Java有不少事

Java基础系列--包装类

原创作品,可以转载,但是请标注出处地址http://www.cnblogs.com/V1haoge/p/5462489.html


1、8种基本数据类型都有各自的包装类,其对应关系为:


    基本————————————包装类
    byte————————————Byte
    short———————————Short
    char————————————Char
    int————————————Integer
    long————————————Long
    float————————————Float
    double———————————Double
    boolean——————————Boolean

 

 2、自动装拆箱与手动装拆箱


  1)自动拆装箱:


    (1)自动装箱:Integer in = 123;


    (2)自动拆箱:int t = in;


  2)手动拆装箱:


    (1)手动装箱:Integer in1 = new Integer(123);


    (2)手动拆箱:int t1 = in1.intValue();


  3)Integer in1 = new Integer(123);与Integer in = 123;的区别:


    (1)前者不会触发自动装箱,后者会触发自动装箱;


    (2)一般情况下,在执行效率和资源占用上后者要优于第一种,但不是绝对。


3、将基本数据类型的数据包装成为包装类后,就可以利用包装类的各种方法,这里面最常用的就是对数据类型的转换,而其中最常用的还是整型与字符串型之间的转换:


  1)整型转换成为字符串型:假如定义:int i = 123;


    (1)String s1 = i + "";    //第一种方法


    (2)String s2 = Integer.toString(i);    //第二种方法


    (3)String s3 = String.valueOf(i);    //第三种方法


  2)字符串型转换成为整型:假如定义:String s = "456";


    (1)int i1 = Integer.valueOf(s);    //第一种方法


    (2)int i2 = Integer.parseInt(s);    //第二种方法


3、Integer类型的方法:toString()、toString(int i)、valueOf(int i)、valueOf(String str)


    (1)toString()方法:返回一个表示该Integer值得String对象,这是一个非静态方法,需要用对象名引用。


    (2)toString(int i)方法:返回一个表示指定整数(i)的String对象,这是一个静态方法,使用类名Integer点用。


    (3)valueOf(int i)方法:返回一个表示指定int值的Integer对象,这是一个静态方法,使用类名Integer点用。


    (4)valueOf(String str)方法:返回一个表示指定String的值的Integer对象,此为静态方法,使用类名Integer点用。

下面是测试代码:

 1 package lianxi;
 2 
 3 /**
 4  * @author V1haoge
 5  */
 6 public class Test183 {
 7 
 8     public static void main(String[] args) {
 9         
10         int a = 1;
11         String str = "123";
12         Integer b = a;  //自动装箱
13         int c = b;//自动拆箱
14         Integer d = new Integer(a);  //手动装箱
15         int e = d.intValue();//手动拆箱
16         
17         
18         /*
19          * 实验int类型与String类型之间的互转
20          */
21         //int转换String
22         int i = 123;
23         //转换开始
24         String s1 = i+"";//第一种方法
25         String s2 = String.valueOf(i);//第二种方法
26         String s3 = Integer.toString(i);//第三种方法
27         //下面用于输出转换结果
28         System.out.println(s1);
29         System.out.println(s2);
30         System.out.println(s3);
31         //String转换int
32         String s = "456";
33         //开始转换
34         int i1 = Integer.valueOf(s);//第一种方法
35         int i2 = Integer.parseInt(s);//第二种方法
36         //下面输出转换结果
37         System.out.println(i1);
38         System.out.println(i2);
39         
40     }
41 
42 }

显示结果为:

123
123
123
456
456
View Code

 

posted @ 2016-05-05 16:50  唯一浩哥  阅读(957)  评论(0编辑  收藏  举报