3

StringBuilder extends AbstractStringBuilderimplements java.io.Serializable, CharSequence.

AbstractStringBuilder implements Appendable, CharSequence

这两个课程都是从 1.5 开始的。谁能解释为什么StringBuilder应该实施CharSequence而不是Appendable?无论如何它都继承了它们AbstractStringBuilder

4

1 回答 1

3

implements CharSequence在语义上,无论是否指定都完全相同。StringBuilder除非通过查看 JDK 代码库的历史,否则无法回答为什么要明确声明这一点,而且无论如何答案都不会提供很多信息。

例如,抽象超类可能是稍后引入的,而早期版本的StringBuilder确实需要该implements子句。在引入抽象类之后,这本可以被删除,但没有被删除,没有造成任何伤害。

于 2012-11-29T10:38:58.833 回答