我正在尝试循环遍历包含 session 和 ID 的 HashMap 。多个 session 可能具有相同的 ID。在每个方法调用中,我需要遍历 HashMap 并查找针对给定 ID 列出的 session 。
类包含:
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() 进行比较,因为 == 只检查两个对象是否是同一个对象,而不检查它们是否是同一个字符串。但这只是猜测。
关于Java Hashmap Iterator 条件问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29263711/