Java 条件下的哈希图迭代器问题

Java Hashmap Iterator Issue on conditon

我正在尝试遍历包含会话和 ID 的哈希图。多个会话可能具有相同的 ID。在每个方法调用中,我需要遍历 hashmap 并找到针对给定 ID 列出的会话。

class 包含:

private static Map<Session, String> peers = new HashMap<Session, String>    ();

方法包含:

for (Map.Entry<Session, String> entry : peers.entrySet()) {
                if(entry.getValue() == clientId){
                    Session peer = entry.getKey();
                    peer.getBasicRemote().sendObject(figure);
                   }
            }

但问题是它只运行一次。甚至我试图获取 hashmap 的大小,它给出了我所拥有的确切数量。

由于该值是一个字符串,您可能应该通过 equals() 来比较它,因为 == 只检查两个对象是否是同一个对象,而不检查它们是否是同一个字符串。但这只是猜测。