JAVA Day20

JAVA Day20

包装类

装箱和拆箱 (Integer类学习)

装箱:基本数据类型转换为包装类

拆箱:包装类转换为基本数据类型

package oop;
public class Number {
    public static void main(String[] args) {
        int num1 = 18;
        //装箱:将基本类型num1转化为Integer类对象
        Integer int1 = new Integer(num1);
        //自动装箱
        Integer int2 = num1;
        //拆箱
        Integer int3 = new Integer(1);//创建一个值为一的Integer类对象
        int num2 = int3.intValue();
        //自动拆箱
        int num3 = int3;
		//基本类型转化为字符串
        String str1 = int1.toString(int1,16);
        System.out.println(str1);
        //字符串转化为基本类型
        int int4 = Integer.parseInt(str1);
        System.out.println(int4);
    }
}

整数缓冲区

package oop;
public class Number2 {
    public static void main(String[] args) {
        Integer int1 = new Integer(100);
        Integer int2 = new Integer(100);
        System.out.println(int1 == int2);
        Integer int3 = 100;
        Integer int4 = 100;
        System.out.println(int3 == int4);
        Integer int5 = 200;
        Integer int6 = 200;
        System.out.println(int5 == int6);
        /*运行结果:false true false
        第一个因为新创建了对象,所以地址不同,所以false;
        第二个因为整数缓冲区的范围为-128~127而这个范围内的数较为常用,Integer类中有cache数组中存储了数据-128~127,而100在这个范围内,故两个Integer类对象指向同一地址,所以返回结果为true;
        第三个因为200不在这一范围内,所以创建了新的对象,地址不同,所以为false;
    }
}
posted @ 2021-06-15 23:33  别来无恙。。  阅读(29)  评论(0)    收藏  举报