Integer类型比较

1、需求:

        比较两个Integer类型的值是否相等

2、equals方法:

                两个Integer类型的数值比较不能使用==比较
                应该使用.equals进行比较

                注意在使用equals方法前对equals前面的对象进行判空处理

3、Integer中重写了equals方法,源码如下:

    public boolean equals(Object obj) {
      if (obj instanceof Integer) {
        return value == ((Integer)obj).intValue();//调用下方方法,返回一个基本类型数值
      }
      return false;
    }

    public int intValue()  
    {  
      return value;  
    }

4、实例代码:

Integer staYear = StudentUtiles.getStaYear;//有可能为空
if (staYear != null && staYear.equals(student.getStaYear)) {
        //staYear一定要先判空,否则抛出 空指针异常
   
}

3、引用总结:

“==比较地址,equals比较值”这个还是挺靠谱的。但是对于包装类和基本类型,还要涉及它们的自动装箱、自动拆箱,所以小心一点还是比较好的,尤其是在以后的面试中,不要走到别人挖的陷阱中。

1. Integer 类型的值在[-128,127] 期间,Integer 用 “==”是可以的   , Integer  与 int 类型比较(==)比较的是值。
2. 如果要比较Integer的值,比较靠谱的是通过Integer.intValue();这样出来的就是int值,就可以直接比较了;或者equals()比较


参考链接:https://blog.csdn.net/w112736112736/article/details/77986283

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值