龙空技术网

Java-今天讲讲equal是方法!

java自学成才 48

前言:

此刻朋友们对“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的用法