У меня есть простой пользовательский класс Point следующим образом, и я хотел бы знать, может ли быть реализована моя реализация hashCode, или если это лучшее, что она получит.Java hashCode для класса Point
public class Point
{
private final int x, y;
public Point(int x, int y)
{
this.x = x;
this.y = y;
}
public int getX()
{
return x;
}
public int getY()
{
return y;
}
@Override
public boolean equals(Object other)
{
if (this == other)
return true;
if (!(other instanceof Point))
return false;
Point otherPoint = (Point) other;
return otherPoint.x == x && otherPoint.y == y;
}
@Override
public int hashCode()
{
return (Integer.toString(x) + "," + Integer.toString(y)).hashCode();
}
}
Как вы пытаетесь улучшить его? Вы хотите попытаться сделать это быстрее? – David
Вы хотите гарантировать уникальность? скорость? – Adrian
Я хотел бы гарантировать оба :) –