【发布时间】:2010-11-24 16:35:27
【问题描述】:
我在代码中遇到了一个错误,我使用错误的键从 Java 映射中获取某些内容,我认为该映射是使用 Java 泛型进行强类型化的。查看 Map Javadocs 时,包括 get 和 remove 在内的许多方法都将 Object 作为参数而不是类型 K(对于定义为 Map 的 Map)。为什么是这样?有充分的理由还是 API 设计缺陷?
【问题讨论】:
-
某些 IDE 会针对这种情况发出警告。
-
虽然该问题并非完全重复,但可以在另一个问题的答案Why aren't Java Collections remove methods generic? 中找到答案。
-
我想我应该在我的 IDE 中设置警告。 :)