如果不需要实现,为什么对象需要实现 Iterable<T> 才能成为 for-each 循环的目标?

Why do objects need to implement Iterable<T> to be the target of for-each loops, if it requires no implementation?

如果不需要实现任何方法,为什么对象需要实现 Iterable 才能成为 for-each 循环的目标? 每当在 for-each 循环中使用对象时,难道不能在编译时自动完成吗?

Iterable 需要 class 来实现 Iterator iterator() 方法。

这不是一个空界面。 参见:https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html