我在代码中遇到了一个错误,我使用错误的键从 Java 映射中获取我认为是使用 Java 泛型强类型化的内容。在查看 Map Javadocs 时,许多方法(包括 get 和 remove)将 Object 作为参数而不是类型 K(对于定义为 Map 的 Map)。为什么是这样?有充分的理由还是 API 设计缺陷?
最佳答案
我认为这是为了向后兼容旧版本的 Map 接口(interface)。不幸的是,情况确实如此,但正如您所言,如果采用正确的类型会好得多。
关于java - 为什么 Java Map<K, V> 为 get 和 remove 方法采用无类型参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4269147/