在Java中是否有任何替代方案可能对应于其他语言(如C#)中存在的foreach

Bha*_*esh 0 java foreach

在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上进行了长时间的搜索,但我做不到.

cor*_*iKa 8

如果一个对象实现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)