I know how to create a reference to a method that has a String
parameter and returns an int
, it\'s:
Function
You'll need to do one of the following.
If it's your code, then define your own functional interface that declares the checked exception:
@FunctionalInterface
public interface CheckedFunction {
R apply(T t) throws IOException;
}
and use it:
void foo (CheckedFunction f) { ... }
Otherwise, wrap Integer myMethod(String s)
in a method that doesn't declare a checked exception:
public Integer myWrappedMethod(String s) {
try {
return myMethod(s);
}
catch(IOException e) {
throw new UncheckedIOException(e);
}
}
and then:
Function f = (String t) -> myWrappedMethod(t);
or:
Function f =
(String t) -> {
try {
return myMethod(t);
}
catch(IOException e) {
throw new UncheckedIOException(e);
}
};