9.5 装箱与拆箱--???

demo1 integer ,int 为例实现转换

        Integer obj = new Integer(10);// 装箱
        int num = obj.intValue();// 拆箱
        System.out.println(num * num);

demo2 double,Double为例实现转换

        Double obj = new Double(10.1);//装箱
        double num = obj.doubleValue();//拆箱
        System.out.println(num * num);

demo3 boolean,Boolean为例实现转换

       Boolean obj = new Boolean(true);//装箱
        boolean flag = obj.booleanValue();//拆箱
        System.out.println(flag);

demo4 以int和Integer为例实现自动装箱及拆箱操作

public class HelloWorld {
	public static void main(String args[]) {
        Integer obj = 10;// 自动装箱,此时不再关心构造方法
        int num = obj;// 自动拆箱,等价于调用类intValue()方法
        obj++;// 包装类对象可以直接参数数学运算
        System.out.println(num * obj);

	}
}

demo5 Object接收浮点数据

public class HelloWorld {
	public static void main(String args[]) {

        Object obj = 19.2;// double自动装箱Double,向上转型为Object
        double num = (Double)obj;// 向下转型为包装类,再自动拆箱
        System.out.println(num * 2);

	}
}

demo6 观察入池操作

        Integer x = new Integer(10);// 新空间
        Integer y = 10;// 入池
        Integer z = 10;
        System.out.println(x == y);// false
        System.out.println(x == z);// false
        System.out.println(z == y);// true
        System.out.println(x.equals(y));// true

demo7 Integer自动装箱与相等判断

public class HelloWorld {
	public static void main(String args[]) {

        Integer numA1 = 100;// 在 -128~127之间
        Integer numA2 = 100;
        System.out.println(numA1 == numA2);// true

        Integer numB1 = 130;
        Integer numB2 = 130;
        System.out.println("numB1:" + numB1);
        System.out.println("numB2:" + numB2);
        System.out.println(numB1 == numB2);// false
        System.out.println(numB1.equals(numB2));// true
	}
}
posted @ 2023-06-09 17:15  盘思动  阅读(1)  评论(0编辑  收藏  举报