包装类

包装类(wagger):

​ 自动装箱:基本数据类型转换成包装类

​ 自动拆箱: 包装类转换成基本数据类型

public class test03 {
    @Test
    public void test001(){
        Object o1=true?new Integer(1):new Double(1.0);
        System.out.println(o1);
        Object o2;
        if(true){
            o2=new Integer(1);
        }
        else{
            o2=new Double(1.0);
        }
        System.out.println(o2);
    }
}

o1会输出1.0 o2会输出1。三元运算符的特性决定 (表达式2和表达式3的数据类型是一致的)所以Int数据类型自动类型提升为Double

@Test
public void test3() {
    Integer i = new Integer(1);
    Integer j = new Integer(1);
    System.out.println(i == j);//false
    //Integer内部定义了IntegerCache结构,IntegerCache中定义了Integer[],
    //保存了从-128~127范围的整数。如果我们使用自动装箱的方式,给Integer赋值的范围在
    //-128~127范围内时,可以直接使用数组中的元素,不用再去new了。目的:提高效率
    Integer m = 1;
    Integer n = 1;
    System.out.println(m == n);//true
    Integer x = 128;//相当于new了一个Integer对象
    Integer y = 128;//相当于new了一个Integer对象
    System.out.println(x == y);//false
}

 

posted on 2021-09-19 00:14  gyp666  阅读(31)  评论(0)    收藏  举报