Answers:
正如其javadoc中所解释的那样,的目的Iterable
是支持特定的语言语法:
实现此接口允许对象成为“ foreach”语句的目标
因此,它属于lang软件包,
提供对Java编程语言的设计至关重要的类。
包含集合框架...
Iterator
最好应该也可以java.lang
,因为Iterable
是。当然,它必须是java.util
出于向后兼容的原因而存在的(早在“ foreach”构造使它在语言本身中起作用之前,它已在JDK中引入)。
Iterable
on 的依赖项外Iterator
,该java.lang
软件包通常不依赖于。中的类java.util
。)
因为很多事情都实现了Iterable接口或将其扩展为子接口。
实现类是:
这是一个巨大的清单。它涉及各种包装。
此外,您还希望最小化循环软件包的依赖关系。如果包A中的类依赖于包B中的类(依赖于包A中的类),则您具有循环依赖关系。它们的存在并不总是坏的-但是它们会导致其他循环依赖关系,这可能是一件坏事。它本身并不坏,但是它是一种设计气味,表明两个类或包装之间的耦合太紧密。这是积累技术债务的开始。
解决方案是说“是的,在整个java和javax结构中,Iterable接口是依赖于各种类和程序包的。它应该是语言库中最基础的-Java .lang。”
这就是您会找到它的地方。
相关阅读: