目录
1.递归的本质:方法的调用
方法的调用一直在等待方法的执行,将方法压入栈中,直到最后一个方法没有调用对象则开始执行方法,然后释放(弹出栈顶),按照栈中顺序依次执行方法,结果就是方法的调用和方法的执行是相反的,即第一个开始调用的方法会在最后执行
循环能做到的事情,递归都能做到,但是递归能做到的事情,循环不一定能做到,但是递归的每次调用都会在栈中开辟一个方法空间,所以递归所占用的空间大小比较大,性能很慢,较于循环而言,能用循环做到的事情就不用递归
2. Flie中的listFiles方法
File file = new File(path);
File[] files = file.listFiles();
//如果files为null,则file是一个文件
//如果files不为null,且files.length为0,说明file是一个空的文件夹