Philip Lombardi Philip Lombardi - 2 months ago 5
Java Question

Return Lambda from Method in Java 8?

I have just begun to use Java 8 and I am wondering if there is a way to write a method that returns a

Function
?

Right now I have method like below:

Function<Integer, String> getMyFunction() {
return new Function<Integer, String>() {
@Override public String apply(Integer integer) {
return "Hello, world!"
}
}
}


Is there a way to write that more succinctly in Java 8? I was hoping this would work but it does not:

Function<Integer, String> getMyFunction() {
return (it) -> { return "Hello, world: " + it }
}

Answer

Get rid of your return statement inside of your function definition:

Function<Integer, String> getMyFunction() {
    return (it) -> "Hello, world: " + it;
}
Comments