Java的包装类

Java的包装类

什么是包装类

  • 基本数据类型所对应的引用数据类型。
  • Object可以统一所有数据,包装类的默认值是null。

类型转换与装箱、拆箱

valueOf() intValue()

package com.cnblogs;
//本类用于实现
public class Application {
    public static void main(String[] args) {
       //装箱:基本类型转成引用类型的过程
        //基本类型
        int num1 = 18;
        //使用Integer类创建对象
        Integer integer1 = new Integer(num1);
        Integer integer2 = Integer.valueOf(num1);
        System.out.println("======装箱=======");
        System.out.println(integer1);
        System.out.println(integer2);
        //类型转换,拆箱,引用类型转成基本类型
        Integer integer3 = new Integer(100);
        int num2 = integer3.intValue();
        System.out.println("======拆箱=======");
        System.out.println(num2);
        //JDK1.5之后,提供自动装箱和拆箱
        int age = 30;
        //自动装箱
        Integer integer4 = age;
        System.out.println("======自动装箱=======");
        System.out.println(integer4);
        //自动拆箱
        int age2 = integer4;
        System.out.println("======自动拆箱=======");
        System.out.println(age2);
        /*
            ======装箱=======
            18
            18
            ======拆箱=======
            100
            ======自动装箱=======
            30
            ======自动拆箱=======
            30
         */
    }
}

  • 8种包装类提供不同类型间的转换方式:
    • Number父类中提供6个共性方法。
    • parseXXX()静态方法。
    • valueOf()静态方法。
  • 注意:需保证类型兼容,否则抛出NumberFormatException异常。
package com.cnblogs;
//本类用于实现
public class Application {
    public static void main(String[] args) {
       //基本类型和字符串之间转换
        //基本类型转成字符型
        int num1 = 100;
        //方法一
        String str1 = num1 + "";
        //方法二
        String str2 = Integer.toString(num1);
        System.out.println(str1);//100
        System.out.println(str2);//100

        //字符型转成基本类型

        String str3 = "150";
        //使用Integer.parseInt();
        int num2 =Integer.parseInt(str3);
        System.out.println(num2);//150

        //boolean字符串形式转成基本类型,“true” ---> true 非“true” ---> false
        String str4 = "true";
        String str5 = "hello";
        boolean flag1 = Boolean.parseBoolean(str4);
        boolean flag2 = Boolean.parseBoolean(str5);
        System.out.println(flag1);//true
        System.out.println(flag2);//false
    }
}

整数缓冲区

  • Java预先创建了256个常用的整数包装类型对象。数组中保存了 -128—-127
  • 在实际应用当中,对已创建的对象进行复用。
package com.cnblogs;
//本类用于实现
public class Application {
    public static void main(String[] args) {
       //面试题
        Integer integer1 = new Integer(100);
        Integer integer2 = new Integer(100);
        System.out.println(integer1 == integer2);//false

        Integer integer3 = 100;//自动装箱
        Integer integer4 = 100;
        System.out.println(integer3 == integer4);//true   在整数缓冲区中,地址相同

        Integer integer5 = 200;
        Integer integer6 = 200;
        System.out.println(integer5 == integer6);//false  不在整数缓冲区中,地址不相同
    }
}

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » Java的包装类