Java-今天講講equal是方法!

1.1.1.equals方法

Java-今天講講equal是方法!

== 比較運算符,比較的是兩個變量中直接保存的內容;也就是說:

如果比較的是兩個基本類型數據,比較的就是兩個值;

如果比較的是兩個引用類型的數據,比較的就是兩個內存地址。

也就是說,如果是兩個引用類型的變量比較,只有當這兩個引用變量指向的是同一個對象時,返回的結果才是真(true),否則就是false。

比較兩個對象是否相等,指的是,兩個對象需要比較的各個屬性值是否相等;但兩個對象不一定是同一個對象;

Object類中默認的比較就是使用==比較:

Java-今天講講equal是方法!

重寫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;

Java-今天講講equal是方法!


分享到:


相關文章: