包装类

96
itachi
2016.10.13 14:04* 字数 295

<small>
因为基本类型无法参与面向对象程序设计,所以要对8种基本类型进行包装,变成对应的包装类(引用类型)从而实现基本类型『参与』面向对象的程序设计

基本类型 包装类 父类/超级父类
byte Byte Number/Object
short Short Number/Object
int Integer Number/Object
long Long Number/Object
float Float Number/Object
double Double Number/Object
char Character Object
boolean Boolean Object
Number 类

所有数字类型的超级父类
抽象类,无法实例化,通过向上构型创建对象
提供方法入口:将对应的引用数字类型转换成基本数字类型
有byteValue();shortValue();intValue();longValue();floatValue();doubleValue();
除了六个数字包装类还有两个金融系统的 BigDecimal、BigInteger
以 Integer为例作说明

Integer 没有无参构造,必须给一个 int/String 类型的数字

注意 String 类型的数字,必须是数字类型的数字不能是汉字,否则会抛出 数字格式异常

Number number=new Integer(123);
System.out.println(number.toString());
Number number=new Integer(12345);
System.out.println(number);\
byte b=number.byteValue();
System.out.println(b);
Integer 类

int 基本类型的包装类
将一个int 数字,包装成引用类型数字,从而更好的参与面向对象程序设计
1.对象实例化

int→Integer
String→Integer
方式1:通过构造方法实现

int number=123;
Integer inte=new Integer(123);
方式2:静态方法 valueOf()
Inter inte =Inter.valueOf(number);
方式三:


String→Integer
String numberStr="123";
Inter inte =Inter.valueOf(numberStr);

Integer→int
Inter inte3= new Integer("12345");

Integer→String
toString();
String s2=inte+"";(加法的拼接效果)
类型转换

自动拆箱及装箱展示:

    /*
         * 练习:
         *  说出下面的运行原理
         */
        Integer inte1 = 123;//自动装箱
        Integer inte2 = 456;//自动装箱
        Integer inte3 = inte1/*自动拆箱*/ + 
                            inte2/*自动拆箱*/;
                        //运算结束,再装箱。
        System.out.println(inte3);//579
        
        /*
         * Integer inte3 = 
         *      Integer.valueOf(
         *          inte1.intValue()拆箱 +
                            inte2.intValue()拆箱 
                ) 装箱
         */

parseInt方法展示:

//方式2:通过Integer中的parseInt静态方法
        int i3 = Integer.parseInt(numberStr);
        System.out.println(i3);

静态方法 valueOf 展示

    //String → Integer
        String numberStr = "12345";
        //方式一:构造方法
        Integer inte3 = new Integer(numberStr);
        System.out.println(inte3);
        
        //方式二:静态方法valueOf()
        Integer inte4 = Integer.valueOf(numberStr);
        System.out.println(inte4);

intValue 方法展示:

//int → Integer
        int number = 123;
        //方式一:构造方法
        Integer inte1 = new Integer(number);
        System.out.println(inte1);
        
        //方式二:静态方法valueOf()
        Integer inte2 = Integer.valueOf(number);
        System.out.println(inte2);
        
        //Integer → int
        Integer inte3 = new Integer("123456");
        //方式一:方法intValue()
        int i1 = inte3.intValue();
        System.out.println(i1);
API 学习