在以下代码中考虑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
}
}
答案 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,当您不想从数组中删除对象时,它仅用于对象。