我了解编程中foreach的意义和使用方法。Java中是否有foreach关键字呢?我尝试查找关键字列表,但只有for而没有foreach。
foreach
关键字。不过,你可以使用修改后的for循环遍历Iterable
集合中的所有元素:List<String> list = new ArrayList<String>();
...
for (String str : list)
{
System.out.println(str);
}
查看此链接以获取更多信息。
从Java 1.8开始,Java现在支持foreach循环...
package org.galarik.arick;
import java.util.ArrayList;
import java.util.List;
public class ExampleForEach {
public static void main(String[] args) {
List<String> strings = new ArrayList<>();
strings.add("Mom");
strings.add("Dad");
strings.add("Dad's Java");
strings.add("Mom's Java");
// Original for loop
int stringsSize = strings.size();
Object[] oldStrings = strings.toArray();
for(int stringIndex = 0; stringIndex < stringsSize; ++stringIndex ) {
System.out.println("Original Content: " + oldStrings[stringIndex]);
}
// For loop, as of Jova 1.5
for (String string : strings) {
System.out.println("All Content: " + string);
}
// forEach loop as of Java 1.8
strings.stream().forEach((string) -> {
System.out.println("For Content: " + string);
});
// Using forEach loop to do a filter
strings.parallelStream().filter(someString -> someString.contains("Java"))
.forEach((someOtherString) -> {
System.out.println("Content With Java: " + someOtherString);
});
}
}
foreach
这样的关键字。
只是为了编码方便而添加了增强的for循环。
编译器会将其转换回旧的Java格式。
比如: List<String> list = new ArrayList<String>();
for (String str : list)
{
System.out.println(str);
}
将被转换为:
List list = new ArrayList();
String str;
for(Iterator iterator = list.iterator(); iterator.hasNext(); System.out.println(str))
{
str = (String)iterator.next();
}
不需要编号。要使用“foreach”语句,您可以编写for( Type variable : collection ){ .... }
(是的,我知道它不必是一个Collection
,只需要是一个Iterable
或数组 - 我只是在尽力清晰地表达)
第一,foreach
不是 Java 中的关键字。
foreach
循环是一种简单的语法,用于遍历数组或实现了 java.lang.Iterable
接口的集合。
在 Java 语言中,使用 for
关键字和 :
运算符来创建 foreach
循环。
// Java example
String[] oddBalls = {"one", "three", "five", "seven"};
for (String currentBall : oddBalls)
{
System.out.println (currentBall + " is an odd number.");
}
for
循环在Java 5中得到了扩展,以使得对数组和其他集合进行迭代更加方便。这种新的for
语句被称为增强型for循环
或foreach
。//sample Java Code
List<WebElement> radioButtons = driver.findElements(By.name("color"));
for(WebElement radioButton : radioButtons)
{
if(radioButton.isSelected())
{
System.out.println(radioButton.getAttribute("value"));
}
}
for
关键字和 :
运算符。在 C# 中,我们可以像下面这样实现相同的场景。//C# code Sample
foreach(WebElement radioButton in radioButtons)
{
//implementation comes here
}