需要帮助解释继承代码中的for语句

时间:2012-05-03 15:43:44

标签: java file-io for-loop

在以下代码中考虑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
    }
}

3 个答案:

答案 0 :(得分:4)

这就是所谓的"for each" loop

  

我也很好奇这个方法如何在file中存储文件名列表。

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

  

如果我想要了解有关该特定语法的信息,我该如何描述它?

Google“java for-each”。

答案 1 :(得分:2)

在我看来,它与C#中的'foreach'相当。在Google上搜索“Java foreach”让我知道了这个: Detail on Java For-Each loop

答案 2 :(得分:2)

这称为foreach loop,当您不想从数组中删除对象时,它仅用于对象。

相关问题