概述
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
最后
以上就是潇洒鞋垫为你收集整理的Integer类型比较的全部内容,希望文章能够帮你解决Integer类型比较所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复