Iterator<Long>: тип HTMLDocument.Iterator не является универсальным; это не может быть параметризовано с аргументами <Long>
Сейчас я работаю над 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?
2 ответа
Ответ в вопросе. Вы используете тип HTMLDocument.Iterator
, Вместо того, чтобы использовать java.util.Iterator
,
Исправьте ваш импорт.
Совершенно очевидно, что HTMLDocument.Iterator отличается от java.util.Iterator и не является универсальным классом. Вы всегда должны обратиться к документации, прежде чем задать вопрос. Похоже, что класс, который вы действительно хотите использовать, java.util.Iterator
, Будьте осторожны при использовании предложений IDE по исправлению импорта, поскольку наличие такой функциональности не означает, что вы можете позволить IDE думать за вас.
В верхней части вашего класса, куда вы импортировали класс итератора
import javax.swing.text.html.HTMLDocument.Iterator;
вместо этого импорта ниже класса
import java.util.Iterator;
это решит вашу проблему