共計 782 個字符,預計需要花費 2 分鐘才能閱讀完成。
在 Java 中,要判斷兩個對象是否相等,有兩種方式:
- 使用
equals()
方法:所有的 Java 對象都繼承自Object
類,Object
類中定義了一個equals()
方法,用于判斷兩個對象是否相等。默認情況下,equals()
方法會比較對象的內存地址,即判斷兩個對象是否引用同一個內存地址。如果要比較兩個對象的內容是否相等,需要在自定義類中重寫equals()
方法,并在方法中定義比較規則。一般情況下,重寫equals()
方法還需要同時重寫hashCode()
方法。
下面是一個示例,展示了如何重寫 equals()
方法來比較兩個 Person
對象的內容是否相等:
public class Person {
private String name;
private int age;
// 省略構造方法和其他方法
@Override
public boolean equals(Object obj) {if (this == obj) {return true;}
if (obj == null || getClass() != obj.getClass()) {return false;}
Person person = (Person) obj;
return age == person.age && Objects.equals(name, person.name);
}
@Override
public int hashCode() {return Objects.hash(name, age);
}
}
- 使用
==
運算符:==
運算符用于比較兩個對象的內存地址是否相等,即判斷兩個對象是否引用同一個內存地址。如果兩個對象引用的是同一個內存地址,則==
運算符返回true
,否則返回false
。
需要注意的是,如果要比較兩個對象的內容是否相等,應該使用 equals()
方法而不是 ==
運算符。因為 ==
運算符比較的是內存地址,而不是對象的內容。
丸趣 TV 網 – 提供最優質的資源集合!
正文完