HaskTable:
Map<Integer, Commander> commanderMap = new Hashtable<Integer, Commander>();
commanderMap.putAll(xxxxxxxxxxxxxxx);Map<Integer, Commander> all = commanderMap;
Iterator it = all.entrySet().iterator();
while(it.hasNext())
{
Commander commander1 = (Commander) it.next();
Participant part = commander1.getByIP(InetAddress.getByName(ipAddress));
}
加断点遍历的时候,如果速度块的话,会爆出来异常信息:
java.lang.ClassCastException: java.util.Hashtable$Entry cannot be cast to com.service.conf.Commander;
经过查询jdk发现HaskTable的遍历如下:
Map<Integer, Commander> commanderMap = new Hashtable<Integer, Commander>();
commanderMap.putAll(xxxxxxxxxxxxxxx);
Map<Integer, Commander> all = commanderMap;
Iterator it = all.keySet().iterator();
while(it.hasNext())
{
int key = (Integer) it.next();
Commander commander = (Commander)all.get(key) ;
}
这样使用才正确;
HashMap:
Map<Integer, Commander> commanderMap = new HashMap<Integer, Commander>();
commanderMap.putAll(xxxxxxxxxxxxxxx);Map<Integer, Commander> all = commanderMap;
Iterator it = all.entrySet().iterator();
while(it.hasNext())
{
Commander commander1 = (Commander) it.next();
Participant part = commander1.getByIP(InetAddress.getByName(ipAddress));
}