什么时候应该考虑实现 Iterable<T>
而不是将集合作为实例字段?有什么好处/后果?
最佳答案
实现Iterable支持封装。 (通常)您的类(class)的用户不需要知道您是否正在使用链表或哈希表或其他什么。
您可以更改实现细节,而无需修改使用您的类的任何代码。例如,您可能希望根据项目数量在集合之间切换。
您还可以控制用户可以做什么和不能做什么。如果您直接访问您的 Collection ,那么他们可能会在您不知情的情况下对其进行修改,这是一个非常糟糕的主意。
关于java - 是否实现可迭代类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7377993/