在Java中使用Iterable
与使用Collection
的注意事项是什么?
例如,考虑实现一个主要涉及包含Foo
集合和一些相关元数据的类型。此类型的构造函数允许一次性初始化对象列表。(元数据可以稍后设置。)此构造函数应接受什么类型?Iterable<Foo>
还是Collection<Foo>
这一决定的考虑因素是什么?
遵循诸如ArrayList
(可以从任何Collection
初始化,但不能从Iterable
初始化)之类的库类型提出的模式将导致我使用Collection<Foo>
。
但是,既然Iterable<Foo>
足以满足初始化需求,为什么不接受它呢?为什么要从消费者那里要求比严格必要的功能(Iterable
)更高级别的功能(Collection
)?
https://stackoverflow.com/questions/1159797
复制相似问题