javaSE21/9/13

时间:2021-09-16 19:40:54   收藏:0   阅读:37

Integer缓冲区

public class Demo { 
    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 
        /* velueof方法中存有-128~127之间的数, 
        如果需要用到方法里的数,直接将该数所对应的地址从堆空间 传到栈空间,
        所以两个对象对应的地址一样 */ 

        Integer integer5 = 200;//自动装箱 
        Integer integer6 = 200; 
        System.out.println(integer5==integer6);//输出false, 
    // 200不在范围内,所以在堆空间里新开一个空间,对应的地址不相同 
    } 
} 

String类

public class Demo {
    public static void main(String[] args) {
        String name = "张三";//存储在常量池中
        name = "李四";//新开辟了个空间,name的地址值改变
        String name2 = "李四";//在常量池中找到“李四”,得到他的地址值
        String str = new String("Hello");//在堆空间和常量池中都开辟空间
    }
}

技术分享图片

原文:https://www.cnblogs.com/wpxz1005/p/15265591.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!