我知道递归的基础知识,但在给定的代码中,我很难理解流程。
请帮我家伙...了解RECURSION的流程
public ArrayList<String> searchFolders(File fo) {
if (fo.isDirectory()) {
String internalNames[] = fo.list();
for (int i = 0; i < internalNames.length; i++) {
searchFolders(new File(fo.getAbsolutePath() + "\\"+ internalNames[i]));
path = fo.getAbsolutePath() + "\\" + internalNames[i];
}
}
if (fo.isFile()) {
alist.add(fo.toString());
}
return alist;
}
您是否尝试使用调试器来跟踪它? –
哪一部分你不明白? – Crazenezz
请参阅[这个问题](http:// stackoverflow。com/questions/11116157/understanding-flow-of-recursion)寻求更多帮助......我不得不说,尽管这是我见过的最差的书面递归目录扫描器之一。 – Alnitak