equalsメソッドの雛形
自作クラスのequalsメソッドを書くときはこの雛形を使うと便利。
public boolean equals(Object obj) { if (this == obj) { return true; } if (obj instanceof T) { T other = (T) obj; if (!this.xxx.equals(other.xxx)) { return false; } if (yyy != other.yyy) { return false; } // : // : (以下、必要なフィールド分繰り返し) // : return true; } return false; }
- Tはそのクラス。
- xxx, yyyはクラスのフィールド。
- xxxはオブジェクトの場合の書き方。
- yyyはプリミティブの場合の書き方。