CUBは子供の白熊

Java SE 8 実践プログラミングの練習問題を解く

第1章 ラムダ式とは : 問題 3 : キャプチャされる変数

問題 3

FileクラスのlistFiles(FilenameFilter)メソッドを使って、指定されたディレクトリの下にある指定された拡張子の全てのファイルを返すメソッドラムダ式を使って書け

解答

■ 指定されたファイルを返すメソッド

public static File[] getFiles(String directory, String ext) {
    return new File(directory).listFiles((dir, name) -> name.endsWith("." + ext));
}

例えば、次のように呼び出す。

File[] xmlFiles = getFiles("〜", "xml");
System.out.println(Arrays.toString(xmlFiles));

さらに問題

そのとき、Enclosing Scope からキャプチャされる変数は何か?

解答

拡張子ext