色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java的equals和

黃文隆1年前6瀏覽0評論

Java的equals方法是用于比較對象的值是否相等的方法。equals方法是從Object類繼承而來的,因此在自己定義一個類時需要重寫這個方法,以便使得比較自己定義類的兩個對象的值的時候正確。在重寫equals方法時,還需要重寫hashCode方法,以便將這個類的對象放入集合中使用。

public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (this == obj) {
return true;
}
if (obj instanceof Person) {
Person person = (Person) obj;
return Objects.equals(this.name, person.name) && this.age == person.age;
}
return false;
}
@Override
public int hashCode() {
return Objects.hash(name, age);
}
}

在這個例子中,我們重寫了equals和hashCode方法,讓它們根據Person對象的name和age字段進行比較。我們使用了Objects類的equals和hash方法來處理空指針和比較兩個對象值的情況。同時,我們還使用了instanceof運算符來判斷傳入的對象是否是Person類型的。

需要注意的是,如果兩個對象的equals方法返回true,那么它們的hashCode方法必須返回相同的值。hashCode方法的作用是在集合中尋找該對象存儲的位置,在兩個對象的hashCode值不同的情況下,它們不會被認為是相等的。