我知道foreach
在编程中的含义以及何时使用它。 Java中是否有foreach
个关键字?我试图找到一个关键字列表,但只有for
而不是foreach
。
答案 0 :(得分:26)
据我所知,Java没有foreach
关键字(如果我没弄错的话,与C#不同)。但是,您可以使用for循环的修改版本迭代Iterable
集合中的所有元素:
List<String> list = new ArrayList<String>();
...
for (String str : list)
{
System.out.println(str);
}
查看this链接了解详情。
答案 1 :(得分:6)
从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);
});
}
}
答案 2 :(得分:3)
没有。要做“foreach”,你可以写for( Type variable : collection ){ .... }
(是的,我知道它不一定是Collection
,只是一个Iterable
或一个数组 - 我只是想写清楚)
答案 3 :(得分:3)
不,没有像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();
}
答案 4 :(得分:1)
foreach不是java关键字(IDE识别它并放置“For-each”循环)。
答案 5 :(得分:1)
NO。 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.");
}
在Java 5中扩展了基本for
循环,以便更方便地对数组和其他集合进行迭代。这个较新的for
语句称为enhanced for
或foreach
。
答案 6 :(得分:0)
Java没有foreach
之类的C#
关键字。如果我们在Java中使用foreach
,则会显示错误。
如果我们要使用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"));
}
}
在这里,我们有Web元素单选按钮的列表,我们正在检查每个 元素用于特定条件。我们使用
for
关键字和:
Java
中的运算符。在
C#
的情况下,我们可以实现以下相同的情况
//C# code Sample
foreach(WebElement radioButton in radioButtons)
{
//implementation comes here
}