我通常键入我的地图声明,但是正在做一些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
一切顺利.那么在声明中设置的默认类型是什么?还是我错过了别的什么?
没有默认类型.
Java泛型中的类型仅用于编译时检查.它们在运行时被删除,基本消失了.
将泛型视为静态帮助程序,以便a)更好地记录代码,以及b)为类型安全启用一些有限的编译时检查.