前言:
此刻朋友们对“javaequal的用法”大约比较关心,各位老铁们都需要知道一些“javaequal的用法”的相关资讯。那么小编在网络上汇集了一些有关“javaequal的用法””的相关知识,希望咱们能喜欢,小伙伴们一起来了解一下吧!视频加载中...
1.1.1.equals方法
== 比较运算符,比较的是两个变量中直接保存的内容;也就是说:
如果比较的是两个基本类型数据,比较的就是两个值;
如果比较的是两个引用类型的数据,比较的就是两个内存地址。
也就是说,如果是两个引用类型的变量比较,只有当这两个引用变量指向的是同一个对象时,返回的结果才是真(true),否则就是false。
比较两个对象是否相等,指的是,两个对象需要比较的各个属性值是否相等;但两个对象不一定是同一个对象;
Object类中默认的比较就是使用==比较:
重写equals:
publicbooleanequals(Objectobj) {
if(this==obj)
returntrue;
if(obj==null)
returnfalse;
if(getClass() !=obj.getClass())
returnfalse;
Personother= (Person)obj;
if(age!=other.age)
returnfalse;
if(gender==null) {
if(other.gender!=null)
returnfalse;
}elseif(!gender.equals(other.gender))
returnfalse;
if(name==null) {
if(other.name!=null)
returnfalse;
}elseif(!name.equals(other.name))
returnfalse;
returntrue;
}
结论:
凡是基本类型变量的相等性比较,可以直接使用== 运算符;
凡是引用类型变量的相等性比较,就应该使用equals方法;
如果使用 == 比较引用类型的变量,实际比较的就是引用地址,只有两个引用地址指向同一个对象,结果才是true;
标签: #javaequal的用法