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/