坐标的HashCode实现

时间:2017-03-23 00:33:03

标签: java hashcode coordinate

让你进入上下文:我有一个坐标类,我有两个属性:x和y,那些代表像素。我重新定义了equals方法,在其中我给出了C像素的容差来确定两个坐标是否相等。

我还尝试重新定义hashCode方法,因为我需要将这些坐标作为地图的键。这是我的重新定义:

@Override
public int hashCode() {
    int hash = 7;
    hash = 67 * hash + this.x;
    hash = 67 * hash + this.y;
    return hash;
}

现在我要做的是每当发生点击时创建一个坐标,并从地图中获取()坐标,即使它距离另一个坐标的C像素也是如此。我认为我的问题是因为它不是相同的x和y,它们没有相同的哈希码所以get()只有在点击恰好出现在同一个x和y时才有效。有没有办法实现我的哈希码,以便它具有"容差"喜欢我的equals()吗?我做错了吗?

0 个答案:

没有答案