遍历 HashMap 以查找与 Java 中的外部对象匹配的关键对象

Iterating through a HashMap to find a key object that matches an outside object in Java

总的来说,我对编码还很陌生,这可能是一个简单的答案。我当然希望是这样。 我正在尝试遍历 HashMap 并将 Key 与相同类型的外部对象进行比较。当我 运行 该方法时,它没有向我显示对象匹配,即使它们的值相同。 Point class 由 2 个整数 x 和 y 组成。 这是我的代码:

for (HashMap.Entry<Point, Character> entry : map.entrySet()) {
    Point point = new Point(0,0);
    point = entry.getKey();
    if(point == outsidePoint){
       //insert code here
    }

我知道在迭代过程中的某个时候 point 对象等于 outsidePoint 对象,但它不会 运行 if 语句中的代码。

任何帮助都会非常有益。

正如评论中提到的,当你想在java中比较两个相同类型的不同对象时,你必须使用.equals() 而不是==。所以整个代码是:

for (HashMap.Entry<Point, Character> entry : map.entrySet()) {
Point point = entry.getKey();
if(point.equals(outsidePoint)){
   //insert code here
}

也可以直接赋entry.getKey()指向,不需要new Point()