Iterator <long>:类型HTMLDocument.Iterator不是通用的;它不能用参数<long> </long> </long>进行参数化

时间:2014-10-04 08:14:00

标签: java iterator hashmap socketserver

现在我正在开发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?

enter image description here

3 个答案:

答案 0 :(得分:2)

很明显,HTMLDocument.Iteratorjava.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;

它将解决您的问题