Here is how to convert the method into a curried function:
Function<A, Function<B, Function<C, Function<D, String>>>> func =
a -> b -> c -> d -> String.format("%s, %s, %s, %s", a, b, c, d);
This defines func as a function that takes an argument of type A and returns a function that takes B and returns a function that takes C and returns a function that takes D and returns a String.