定义了一个文件过滤器,在主方法调用的时候,遍历文件目录下所有符合过滤器条件的文件,为什么遍历的时候都不再需要调用accept 方法去判断?
import java.io.*;
public class MyFileFilter implements FilenameFilter{
private String s;
public MyFileFilter(String s){
this.s=s;
}
public boolean accept(File dir, String name) {
return name.endsWith(s);
}
}
public class MyFileFilterDemo {
public static void main(String[] args) {
File file = new File("e:/歌曲");
MyFileFilter mf=new MyFileFilter(".mp3");
String[] s =file.list(mf);
for (String string : s) {
//if(mf.accept(file, string)){//为什么这里可以不调用accept方法来判断也OK?
System.out.println(string);
//}
}
}
}
|