Integer的比较问题

明确

1,Integer是int的包装类。

2,Integer的默认值是null,int的默认值是0

3,Integer必须实例化以后才可以使用,int不需要。在new一个Integer时,会生成一个指针指向该对象

所有相同类型的包装类对象之间的值比较,都要使用equals

当然Integer是int的包装类,当两个Integer进行比较的时候最好使用equals。

但是当Integer的值在“-128至127”之间的时候是可以使用“==”来比较的。因为在这个区间内,Integer对象是在IntegerCache.cache产生,会重用原来的对象。而在此区间之外的Integer,都会在堆上产生。有几个对象就有多少引用指向。并不会重用,此时再去用“==”去比较。得不到你想要的结果。这个问题是个大坑要牢记,开发中或者面试中,都会遇到

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值