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() 来比较它,因为 == 只检查两个对象是否是同一个对象,而不检查它们是否是同一个字符串。但这只是猜测。
我正在尝试遍历包含会话和 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() 来比较它,因为 == 只检查两个对象是否是同一个对象,而不检查它们是否是同一个字符串。但这只是猜测。