Java.util.HashMap - 为什么HashMap扩展了AbstractMap并实现了Map?

时间:2010-02-19 06:38:40

标签: java hashmap

为什么HashMap扩展了AbstractMap并实现了Map?正在扩展AbstractMap是不够的,因为AbstractMap实现了Map?

3 个答案:

答案 0 :(得分:5)

这是多余的。我怀疑它是出于“文档”原因而完成的。 HashMap实现了Map,你可以依赖它。它扩展AbstractMap的事实可以说只是一个实现细节。 (虽然HashMap的未来版本不太可能不扩展AbstractMap,因为可能某些代码需要将HashMap分配给AbstractMap。)

答案 1 :(得分:0)

这是多余的,但不会受到伤害。如果以后他们不想在Map中实施AbstractMap,那么它仍然会有效。

答案 2 :(得分:0)

还有一件事是AbstractMap是一个实现细节。它可能在Oracle JDK的未来版本中不存在。它可能在当前版本的IBM JDK中不存在。但是无论它是否存在,HashMap应始终符合List契约..因此,它通过指定' HashMap实现Map'

在类声明中明确捕获