在Java中是否有任何替代方法可以与foreach{}其他语言(如C#或VB或类似语言)中的其他语言相对应?在某些非常具体的情况下,它有时可能非常有用并且几乎是强制性的.
while(){}Java中的以下循环可以替换为foreach循环或Java中可能存在的与foreach相对应的其他一些概念吗?
public class Demo
{
public static void main(String[] args)
{
ArrayList<String> arrayList = new ArrayList<String>();
arrayList.add("A");
arrayList.add("B");
arrayList.add("C");
arrayList.add("D");
arrayList.add("E");
Iterator<String>it=arrayList.iterator();
while(it.hasNext())
{
System.out.println(it.next());
}
}
}
Run Code Online (Sandbox Code Playgroud)
我在Google上进行了长时间的搜索,但我做不到.
如果一个对象实现Iterable或者它是一个数组,那么你可以使用增强的for-each循环(在Java 5.0中引入)
for(E e : MyCollection) {
// stuff
}
Run Code Online (Sandbox Code Playgroud)
如果你的例子,你可以做到
ArrayList<String> list = new ArrayList<String>();
list.add("A");
list.add("B");
list.add("C");
list.add("D");
list.add("E");
for(String s : list) System.out.println(s);
Run Code Online (Sandbox Code Playgroud)
从技术上讲,您的示例使用的是非参数化列表,因此您可以使用
for(Object o : arrayList) System.out.println(o.toString());
Run Code Online (Sandbox Code Playgroud)