自动拆箱与自动装箱

测试代码

public void test2() {
        int i = 40;
        int i0 = 40;
        Integer i1 = 40;
        Integer i2 = 40;
        Integer i3 = 0;
        Integer i4 = new Integer(40);
        Integer i5 = new Integer(40);
        Integer i6 = new Integer(0);
        Double d1=1.0;
        Double d2=1.0;

        System.out.println("i=i0\t" + (i == i0)); // 比较值 结果为true
        System.out.println("i1=i2\t" + (i1 == i2)); // 使用Integer.valueOf构建对象,内部使用单例模式i1和i2指向了同一个引用,比较引用地址 结果为true
        System.out.println("i1=i2+i3\t" + (i1 == i2 + i3));// 调用了intValue的方法比较值,结果为true
        System.out.println("i4=i5\t" + (i4 == i5)); // 使用new创建了两个不同的对象,比较引用地址 结果为false
        System.out.println("i4=i5+i6\t" + (i4 == i5 + i6)); // 调用了intValue的方法比较值 结果为true
        System.out.println("d1=d2\t" + (d1==d2)); // 使用Double.valueOf构建Double对象,比较引用地址 结果为false

        System.out.println();
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容