Не могу увидеть содержимое HashMap - PullRequest
0 голосов
/ 18 мая 2011

Выход достигает flag2, но я не вижу, что находится внутри HashMap.Код:

public class traffic_analysis {


static HashMap<InetAddress,Integer> mp=new HashMap<InetAddress, Integer>();


    static void SrcCnt(InetAddress src_ip) {
        InetAddress SourceIP = src_ip;
        System.out.println(SourceIP);

        if (mp.get(SourceIP) == null){
            mp.put(SourceIP, 0);
            System.out.println("----MPIKE----");
        }else {
            mp.put(SourceIP,mp.get(SourceIP)+1);
            System.out.println("----MPIKE XANA----");
        }

        System.out.println(mp.toString());
    }


static void PrintMap() {
    System.out.println("----EIMAI EDW----");

    Iterator iterator = mp.keySet().iterator();

    while (iterator.hasNext()) {
         System.out.println("----flag----");
       String key = iterator.next().toString();
       System.out.println("----flag2----");
       String value = mp.get(key).toString();
       System.out.println("----flag3----");

       System.out.println(key + "blabla " + value);
    }
}


}

В чем проблема?

Ответы [ 2 ]

4 голосов
/ 18 мая 2011

Вы звоните toString по фактическому ключу.Когда вы попытаетесь получить его с строкой , произойдет сбой.Попробуйте вместо этого:

InetAddress key = iterator.next();
System.out.println("----flag2----");
String value = mp.get(key).toString();
System.out.println("----flag3----");
0 голосов
/ 18 мая 2011

Метод объекта toString () не делает то же самое, что и приведение объекта к строке.

А как насчет String key = iterator.next(), а не String key = iterator.next().toString()?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...