我有一个方法,在调用时,FilenameFilter被传递给(作为匿名内部类)。现在,如果设置了一个变量,我想扩展FilenameFilter。示例:
new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return name.toLowerCase().endsWith(".txt");
}
}应该变成:
new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return name.toLowerCase().endsWith(".txt") || new File(dir, name).isDirectory();
}
}如何从第一个筛选器获取筛选并添加目录检查?(我不想在调用方法时实现带有目录的FilenameFilter,因为它可能根本不需要)
基于接受的答案的解决方案。filenameFilter是传递给该方法的实例:
new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return filenameFilter.accept(dir, name) || new File(dir, name).isDirectory();
}
};https://stackoverflow.com/questions/47673337
复制相似问题