0

考虑for(File file : files )以下代码。我以前从未见过这种语法。我从上下文和行为中了解到,这是一个基于记录数量的 for 循环......类似于(for x=0;x<length.foo;++x). 除此之外,我不确定。这是我还没有学过的 for 循环的简写吗?这是专门针对对象的循环吗?更重要的是......当我想在谷歌上搜索有关该特定语法的信息时,我该如何描述它?

澄清:第二个问题,我也很好奇这种递归文件列表方法如何将文件名列表存储在file. 这是一个数组吗?收藏?或者...?我想知道我需要如何读取结果文件。

public static void main(String... aArgs) throws FileNotFoundException
{
    File startingDirectory= new File("CGT");
    List<File> files = WorkingFileListing2.getFileListingNoSort(startingDirectory);
    for(File file : files )
    {
       System.out.println(file);  //print filenames
    }
}
4

3 回答 3

4

这就是所谓的“for each”循环

我也很好奇这种方法如何将文件名列表存储在file.

它没有。它遍历 的元素files,依次将它们分配给file(一次一个!)。如果您运行代码,循环的每次迭代都将打印一个文件名。

当我想在谷歌上搜索有关该特定语法的信息时,我该如何描述它?

谷歌“java for-each”。

于 2012-05-03T15:45:43.683 回答
2

在我看来,它相当于 C# 中的“foreach”。在 Google 中搜索“Java foreach”得到了这个: 关于 Java For-Each 循环的详细信息

于 2012-05-03T15:47:33.263 回答
2

这称为foreach 循环,仅在您不想从数组中删除对象时用于对象。

于 2012-05-03T15:47:35.087 回答