引数が2つ以下の場合 Java8既存のFunctionインターフェースを使えば、うまく対応できます。 例: // 引数が1つしかない Function<String, String> func1 = (str1) -> str1+"!"; System.out.println(func1.apply("Aha")); //Aha! // 引数が2つしかない BiFunction<String, String, String> combineStrings = (str1, str2) -> str1+str2; System.out.println(combineStrings.apply("Hello ", "World")); //Hello World なお、既存のFunctionインターフェースを分かりやすくまとめてくれた図表を見つけましたので、転載します。 引数が3つ以上の場合