作者:lp-阳光切割了记忆的角度 | 来源:互联网 | 2023-05-19 12:54
有两大种情况
1. Integer 与 Integer 进行比较
2. Integer 与 int 进行比较
第一种:Integer 与 int进行比较
Integer 与int进行比较,会自动比较 两个的值是否相等,如同 int与int这种基本类型的比较一样。
第二种:Integer 与 Integer 进行比较
Integer与 int不同,int是基本数据类型,Integer是 int的封装类,两者不同。
java 的 对象进行比较,有两种:一个是 比较引用地址(相当于C语言指针),另一种就是比较内部数据。
程序设计当中,一般都不是比较引用地址,而是比较内部数据。
public boolean equals(Integer a,Integer b){
if(a==b){ //如果引用地址是否相同(包括都为null)则返回真
return true;
}if(a!=null){
return a.equals(b);
}
return false;//如果 a 为空返回 false(当b也为null,前面就已经返回 true)
}
当然,也要通用于比较 Short Long 等等
public boolean equals(Object a,Object b){
if(a==b){ //如果引用地址是否相同(包括都为null)则返回真
return true;
}if(a!=null){
return a.equals(b);
}
return false;//如果 a 为空返回 false(当b也为null,前面就已经返回 true)
}
或者
public final boolean equals(T a,T b){
if (a== null) {
return b== null;
} else {
return a.equals(b);
}
}