关于递归
看上面,main中会持续执行a()方法
- a会在栈内存中一直调用a方法
- 栈中有很多很多个–》无数个a方法
- 当太多时
- 👇
- 栈内存溢出!
小TIPS
栈内存中啥样的?
来看看递归求和
用循环:
不会在栈内存中产生多个方法,不占用多余的内存
用递归:
sum中套sum,会有很多个sum在栈内存中,太浪费了!
递归遍历多级目录怎么做?
要先学习File类的用法!
打开一个路径下的文件:
getAllFile(file)方法打开当前路径下所有文件
对目录进行遍历:
isDirectory()判断是否是文件夹函数
FileFilter过滤器原理
过滤的规则:
- 在accept方法中,判断File对象是否以.java结尾,是就返回true,不是返回false