覆蓋 Java 中的 equals()
    
    
            Lovey Arora
    2023年10月12日
    
    Java
    Java Override
    
 
在 Java 中,覆蓋是指子類或子類執行與父類中宣告的方法相同的方法。
equals() 方法比較兩個字串。如果一個字串物件的資料與另一個相同,則返回 True 值,否則返回 False。當我們覆蓋 equals() 方法時,總是建議也覆蓋 hashtag() 方法。
本教程將演示如何在 Java 中覆蓋 equals。
為了檢查物件中的值是否相等,我們使用 equals() 方法。我們可以在類中重寫這個方法來檢查兩個物件是否有相同的資料,因為 Java 中的類只是從物件類繼承的。
@Override 告訴編譯器在編譯時覆蓋。
請參考下面給出的程式碼:
class Complex {
  private double ab, cd;
  public Complex(double ab, double cd) {
    this.ab = ab;
    this.cd = cd;
  }
  @Override
  public boolean equals(Object o) {
    if (o == this) {
      return true;
    }
    if (!(o instanceof Complex)) {
      return false;
    }
    Complex c = (Complex) o;
    return Double.compare(ab, c.ab) == 0 && Double.compare(cd, c.cd) == 0;
  }
}
public class Main {
  public static void main(String[] args) {
    Complex c1 = new Complex(12, 13);
    Complex c2 = new Complex(12, 13);
    if (c1.equals(c2)) {
      System.out.println("Equal ");
    } else {
      System.out.println("Not Equal ");
    }
  }
}
輸出:
Equal
在上面的例子中,重寫是通過 equals() 方法完成的,以在布林表示式的幫助下比較兩個複雜的物件。然後,如果物件與自身進行比較,則返回 True。然後,我們檢查了物件是否是 complex 的例項,因此返回 False。現在,我們將物件型別轉換為 complex,以便我們可以比較資料成員。最後,我們製作驅動程式類來測試複雜的類。
        Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe