1
私はFilenameFilter
を呼び出すと(匿名の内部クラスとして)メソッドが渡されます。今、変数が設定されている場合は、FilenameFilter
を拡張します。例:Java expand 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();
}
};
は 'java.io.FilenameFilter'にこれを行う方法はありますか?ユーザーはそれを実装して拡張し、自分自身のフィルタ部分を追加しますか? – XtremeBaumer
例のFilenameFilter1はFilenameFilterを実装しています –