今天打开一个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/