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;

это решит вашу проблему

Другие вопросы по тегам