现在我正在开发Socket Server,并为多个客户端创建一个多线程用于套接字。 并且还将连接的每个线程放入HashMap以存储线程的对象。
问题在于:我无法将HashMap的返回键集返回到Iterator中。 我将键值初始化为。有什么问题?我不知道。
HashMap<Long, ClientThread> m_clients;
long m_currentKey;
m_clients.put((Long)m_currentKey, clientThread);
Iterator<Long> itr = m_clients.keySet().iterator(); //error:: Why?
答案 0 :(得分:2)
很明显,HTMLDocument.Iterator与java.util.Iterator不同,并且不是通用类。在提出问题之前,您应该始终参考文档。您真正想要使用的课程似乎是java.util.Iterator
。使用IDE导入修复程序时要小心,拥有这样的功能并不意味着你可以让IDE为你考虑。
答案 1 :(得分:1)
问题的答案就在于此。您使用的是HTMLDocument.Iterator
类型,而不是java.util.Iterator
。
修复您的导入。
答案 2 :(得分:0)
在您的类的顶部,其中已导入迭代器类
import javax.swing.text.html.HTMLDocument.Iterator;
代替此类下的导入
import java.util.Iterator;
它将解决您的问题