Возможно, вам понадобится разыграть каждый ключ и значение, т.е. (String)me.getKey()
и посмотреть, что вы получите.
Из размещенного вами фрагмента возможно, что HashMap<String, Integer>
в вашем акте неверен. Исходный HashMap может быть определен как просто HashMap
или HashMap<Object, Object>
, поскольку имя вашей переменной - untypedResult
. Я попробовал следующее, и оно работает как ожидалось:
<!-- language: lang-java -->
public static void main(String[] args) {
HashMap<String, Integer> hMap = new HashMap<String, Integer>();
hMap.put("Hi1", new Integer(1));
hMap.put("Hi2", new Integer(2));
hMap.put("Hi3", new Integer(3));
hMap.put("Hi4", new Integer(4));
Set set = hMap.entrySet();
Iterator i = set.iterator();
while(i.hasNext()){
Map.Entry me = (Map.Entry)i.next();
System.out.println(me.getKey().getClass().getName() + " : " + me.getValue().getClass().getName() );
System.out.println(me.getKey() + " : " + me.getValue() );
}
}
Выход для этого блока:
java.lang.String : java.lang.Integer
Hi2 : 2
java.lang.String : java.lang.Integer
Hi1 : 1
java.lang.String : java.lang.Integer
Hi4 : 4
java.lang.String : java.lang.Integer
Hi3 : 3