Java 使用Iterable在ArrayList上迭代?
我们都知道这段代码:Java 使用Iterable在ArrayList上迭代?,java,foreach,Java,Foreach,我们都知道这段代码: ArrayList<String> str1 = new ArrayList<String>(); for(String str: str1) { // code goes here } ArrayList str1=新的ArrayList(); 用于(字符串str:str1){ //代码在这里 } 这个增强的for循环使用Iterable而不是迭代器来遍历。但是我没有看到ArrayList扩展了Iterable。有人能告诉我为什么会
ArrayList<String> str1 = new ArrayList<String>();
for(String str: str1) {
// code goes here
}
ArrayList str1=新的ArrayList();
用于(字符串str:str1){
//代码在这里
}
这个增强的for循环使用Iterable而不是
迭代器来遍历。但是我没有看到ArrayList
扩展了Iterable
。有人能告诉我为什么会发生这种情况吗?ArrayList
扩展了实现了Iterable
文档()在它实现的列表中清楚地显示了Interable
。它是“语法糖”,所以即使对于像数组这样的东西,它不需要绑在一个特殊的结构上你在哪里找不到它?Javadoc和javap都表示它扩展了Iterable。ArrayList还实现了List,它扩展了Iterable。