Float, String> f = (x, y) -> "AAA"; a(f); } private static void a(BiFunction<Integer, Float, String> g) { String s = g.apply(1, 1.2f); } 引数が一つの時は、Function。 引数がない場合は Runnable を使用します。実行は apply(); ではなく run(); を使用します。 引数が一つだけど、戻り値がない場合は Consumer。実行は accept();です。 #なんでだよ(汗 https://docs.oracle.com/javase/jp/8/api/java/util/function/package-summary.html