Java - Predefined funtional interface
1. Void return and zero paramter
Use Runnable
1
2
3
4
5
6
void runTask(Runnable task) {
task.run();
}
runTask(()-> {
// do something
});
2. Return value and zero paramter
Use Supply
1
2
3
4
5
6
7
8
public <T> T runTask(Supply<T> task) {
return task.get();
}
Integer res = runTask<Integer>(()-> {
Integer value;
// do something
return value;
});
3. Return void and 1 parameter
Use Consumer
1
2
3
4
5
6
7
public <T> void runTask(Consumer<T> task, T value) {
return task.accept(value);
}
Integer value;
runTask<Integer>((Integer x)-> {
// do something
}, value);
4. Generic case
Use Action0, Action1, Action2 ...