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

标签 java foreach

Java 中是否有任何替代方案可以与其他语言(例如 C# 或 VB 或类似语言)中的 foreach{} 相对应?有时,在某些非常特定的情况下,它可能非常有用并且几乎是强制性的。

Java中的以下while(){}循环可以用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());
        }
    }
}
<小时/>

我在 Google 上进行了长时间的搜索,但没有成功。

最佳答案

如果一个对象实现了Iterable或者它是一个数组,那么你可以使用增强的for-each循环(在Java 5.0中引入)

for(E e : MyCollection) {
    // stuff
}

如果你的例子,你可以这样做

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);

从技术上讲,您的示例使用非参数化列表,因此您将使用

for(Object o : arrayList) System.out.println(o.toString());

关于java - Java 中是否有任何替代方案可以对应于其他一些语言(如 C#)中存在的 foreach,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7970958/

相关文章:

java - Webratio 中的 Hello World

php - 没有正则表达式的 PHP 中的 Piglatin 程序?

Bash foreach 循环

java - 地址长度非法

java - Recyclerview 更改适配器外部的项目颜色

javascript - 如何在 Node.Js 的 forEach 中使用 Select Query?

javascript - 将这个和第二个参数传递给回调函数

javascript - 如何停止循环成功

java - Java导入包的算法

java - 如何使用java将包含矩阵形式数据的txt文件读取到与文件中尺寸相同的二维数组中