参照で呼び出される hashCode を予測することはできませんが、常に hashcode が一意であることがわかります。デフォルトでは、 toString() は、クラスが Object クラスから継承した hashCode() を出力します。まず、ハッシュ コードをいつ使用するかを知っておく必要があります。次のコードを記述すると、継承している Object の hashCode() 実装の 2 つの異なるハッシュコードが表示されます。
public class Point {
private int xPos, yPos;
public Point(int x, int y) {
xPos = x;
yPos = y;
}
public static void main(String[] args) {
System.out.println(new Point(10,20));
System.out.println(new Point(10,20));
}
}
ただし、オブジェクトを HashSet、HashMap コレクションに挿入する場合は機能しません。これを機能させるには、Point クラスで hashCode() をオーバーライドする必要があります。私はそのコードを書くことができませんでしたが、hashCode() のオーバーライドは、私にはわからない独自の要件に依存しています...
だから最後に私が言いたかったのは、hashCode()、toString()、equals( ) すべてのカスタム クラスのメソッド。