java - 为什么 Java Map<K, V> 为 get 和 remove 方法采用无类型参数?

标签 java api generics

我在代码中遇到了一个错误,我使用错误的键从 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/

相关文章:

API 身份验证设计和可破解性

php - 如何将访问 token 插入MySQL数据库?

swift - 定义多个类型别名

generics - VHDL 泛型的使用

java - 如何使用 Java 8 合并两个不同类型的自定义对象列表

java - ProcessBuilder 在调用 Runtime exec 工作的系统命令时失败

java - Thread.isInterrupted 总是返回 false

javascript - 显示内容类型: application/jpeg result on webpage

Java 字节码签名

java - 自动将测量格式化为 Java 中的工程单位