【问题标题】:Iterator<Long> :The type HTMLDocument.Iterator is not generic; it cannot be parameterized with arguments <Long>Iterator<Long> :HTMLDocument.Iterator 类型不是通用的;它不能用参数 <Long> 参数化
【发布时间】:2014-10-04 08:13:59
【问题描述】:

现在我正在开发 Socket Server,并为套接字的多客户端制作了多线程。 并且还将连接的每个线程放入一个HashMap中来存储线程的对象。

问题是:我无法将 HashMap 的键集返回到迭代器中。 我将键值初始化为 .有什么问题?我不知道。

HashMap<Long, ClientThread> m_clients;

long m_currentKey;

m_clients.put((Long)m_currentKey, clientThread);

Iterator<Long> itr = m_clients.keySet().iterator(); //error:: Why?

【问题讨论】:

  • 看看它所说的类型:HTMLDocument.Iterator。这与java.util.Iterator 不同。我们不知道HTMLDocument 的来源,或者你有什么进口等等......但这就是问题所在。如果您需要更多建议,您需要创建一个简短但完整的程序来演示该问题。

标签: java iterator hashmap socketserver


【解决方案1】:

答案就在问题中。您使用的是HTMLDocument.Iterator 类型,而不是java.util.Iterator

修复你的导入。

【讨论】:

    【解决方案2】:

    很明显,HTMLDocument.Iteratorjava.util.Iterator 不同,不是泛型类。在提出问题之前,您应该始终参考文档。看来您真正想使用的类是java.util.Iterator。使用 IDE 的导入修复建议时要小心,拥有这样的功能并不意味着您可以让 IDE 为您考虑。

    【讨论】:

      【解决方案3】:

      在您导入迭代器类的类的顶部

      import javax.swing.text.html.HTMLDocument.Iterator;
      

      代替类下面的这个导入

      import java.util.Iterator;
      

      它会解决你的问题

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-06-01
        • 1970-01-01
        • 2015-06-15
        • 2013-04-30
        • 2019-06-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多