<分区>
为什么这段 Java 代码没有产生任何编译错误?
Map<String, String> m = new HashMap<String, String>();
m.get(1);
我试图在将字符串映射到字符串的映射中找到一个整数。这显然是一个编程错误。
同样,这段代码也不会产生错误:
Map<Integer, String> m = new HashMap<Integer, String>();
m.get("dd1");
因此 Java 编译器似乎不检查 Map.get(Object) 方法的参数类型。有什么想法吗?