Ошибка при попытке разобрать hashmap getValue () как int - PullRequest
0 голосов
/ 27 апреля 2018

У меня есть хэш-карта слов и частота Я хочу использовать частоту как целое число

     for (Map.Entry me : hm.entrySet()) {
        int freq = me.getValue();
        //do something with int
     }

Это продолжает получать разные ошибки: Cannot convert from Object to int, The method parseInt(boolean) in the type PApplet is not applicable for the arguments (object)

Как мне обойти это?

Ответы [ 2 ]

0 голосов
/ 27 апреля 2018

Считайте, что это Анти-Ответ, но он имеет свои применения в крайнем случае. Ответ user6690200 правильный ИМХО.

Но что вы можете сделать, если вы не можете контролировать создание карты, и вам предоставляется экземпляр исходной карты?

В этом случае самым быстрым решением будет приведение и окружение проблемного приведения с надлежащей исключающей сетью try-catch:

for (Map.Entry me : hm.entrySet()) {
    try {
       int freq = (Integer)me.getValue();
       //do something with int
    } catch (ClassCastException e) {
       // handle exception resposibly!
    }
 }
0 голосов
/ 27 апреля 2018

Вам следует избегать использования необработанного типа , если вы используете jdk7 +, попробуйте создать карту следующим образом:

Map<String, Integer> map = new HashMap<>();

for (Map.Entry<String, Integer> me : hm.entrySet()) {
     int freq = me.getValue();
     //do something with int
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...