java面试题 Integer

 		Integer integer1=new Integer(100);
        Integer integer2=new Integer(100);
        System.out.println(integer1==integer2);
        Integer integer3=100;//实际是Integer。Valueof(1000)
        Integer integer4=100;//实际是Integer。Valueof(1000)
        System.out.println(integer3==integer4);
        Integer integer5=1000;//实际是Integer。Valueof(1000)
        Integer integer6=1000;//实际是Integer。Valueof(1000)
        System.out.println(integer5==integer6);

结果
false
true
false
1.new在堆中开辟空间 1与2的地址不同
2.100 自动装箱在Integer的缓冲区中,直接返回缓冲区对象,地址相同,为true
3.1000已经超出缓冲区了
在这里插入图片描述
包装类提供了对象的缓存,具体的实现方式为在类中预先创建频繁使用的包装类对象,当需要使用某个包装类的对象时,如果该对象封装的值在缓存的范围内,就返回缓存的对象,否则创建新的对象并返回。
原文链接
具体实例

Integer = 5;//会自动装箱 Integer.valueof()会使用缓存
== 比较时会自动拆箱
equals 金基金比较直,不会拆箱
+等	算数运算会先拆箱再装箱

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值