*上記のメソッド参照の例では、writeLineメソッドに引き渡すためだけに、quoteおよびindentメソッドを定義している
*その場限りの利用の場合、メソッド定義を式として表すことができるラムダ式を利用できる
(引数型 仮引数) -> {
メソッド本体
}
public class Lambda {
public static void main(String[] args) {
writeLine("Quote test.", (String value) -> {
return String.format("\"%s\"", value);
});
writeLine("Indent test.", (String value) -> {
return String.format("\t%s", value);
});
}
private static void writeLine(String line, Converter converter) {
System.out.println(converter.covert(line));
}
/** Stringを受け取りStringを返すメソッド型 */
@FunctionalInterface
public interface Converter {
String covert(String value);
}
}
====ファイル====
=====ファイルを読む=====
=====ファイルに書く=====