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

你可能感兴趣的:(Java,basics,css3,前端,css)