java - 为什么 LinkedHashSet<E> 扩展 HashSet<e> 并实现 Set<E>

标签 java collections hashtable

今天打开一个LinkedHashSet源码,发现了一些有趣的东西:

public class LinkedHashSet<E>
    extends HashSet<E>
    implements Set<E>, Cloneable, java.io.Serializable {

问题是:当 HashSet 已经是 Set 的时候,为什么还要“extends HashSet”和“implements Set”?

最佳答案

我问过 Josh Bloch,他告诉我这是一个错误。很久以前,他曾经认为它有一些值(value),但他后来“看到了光明”。显然 JDK 维护者认为这不值得以后退出。

关于java - 为什么 LinkedHashSet<E> 扩展 HashSet<e> 并实现 Set<E>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2165204/

相关文章:

java - 什么构成了 Java API

asp.net-mvc-3 - 包含路径表达式必须引用在类型上定义的导航属性

Java:初始化错误的适当异常

java - 在 JFrame 上制作透明的 JPanel

java - 在recyclerview中设置onclicklistener

json - cURL到PowerShell-哈希表

c - 在已插入订单元素中打印哈希表

jquery - Rails 助手 "Collection Select"

wpf - 如何在 ViewModel 中呈现( View )模型的集合

python - 为什么给字典的键 `True` 赋值会覆盖同一字典中键 `1` 的值?