为什么 Java 的 list 接口和 collection 接口都定义了 size()方法。list 继承了 collection,为什么要重复定义一遍。

2019-01-21 11:01:48 +08:00
 codeismylife
1570 次点击
所在节点    问与答
4 条回复
zjp
2019-01-21 11:08:45 +08:00
https://www.v2ex.com/t/396685
我倾向于认为是作者的个人习惯和语义问题。List 的大小是 `size` 而不是 `length` 经常让我很困惑...
codeismylife
2019-01-21 11:18:19 +08:00
我更倾向于架构方面。如果接口继承层级太多不容易看清楚,重复声明就不用向上查看。
zhaohui318
2019-01-21 11:21:40 +08:00
The List interface places additional stipulations, beyond those specified in the Collection interface, on the contracts of the iterator, add, remove, equals, and hashCode methods. Declarations for other inherited methods are also included here for convenience.

https://docs.oracle.com/javase/8/docs/api/java/util/List.html

在 list 里再抄一遍是为了文档看起来方便
codeismylife
2019-01-21 11:27:34 +08:00
@zhaohui318 原……原来如此

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/529015

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX