java – K和V的HashMap默认类型
发布时间:2020-11-17 08:06:47 所属栏目:Java 来源:互联网
导读:我通常键入我的地图声明,但是正在做一些maint并找到一个没有输入.这让我想到了(哦不!). Map声明的默认输入是什么.考虑以下: Map map = new HashMap();map.put(one, 1st);map.put(two, new Integer(2));map.put(three, 3rd);for ( Map.Entry entry : map.
我通常键入我的地图声明,但是正在做一些maint并找到一个没有输入.这让我想到了(哦不!). Map声明的默认输入是什么.考虑以下: Map map = new HashMap(); map.put("one","1st"); map.put("two",new Integer(2)); map.put("three","3rd"); for ( Map.Entry entry : map.entrySet() ){ System.out.println(entry.getKey() + " -> " + entry.getValue()); } Map.Entry上的类型不兼容时出现此错误.所以,如果我输入声明: Map<Object,Object> map = new HashMap(); 一切顺利.那么在声明中设置的默认类型是什么?还是我错过了别的什么? 解决方法类型是java.lang.Object.for构造采用Iterable类型并调用其迭代器方法.由于Set没有使用泛型类型,因此迭代器返回Object类型的对象.这些需要显式转换为Map.Entry类型. Map map = new HashMap(); map.put("one","3rd"); for (Object o : map.entrySet()) { Map.Entry entry = (Map.Entry) o; System.out.println(entry.getKey() + " -> " + entry.getValue()); } (编辑:甘南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |