Java 8 functional interface with no arguments and no return value
Solution 1:
If I understand correctly you want a functional interface with a method void m()
. In which case you can simply use a Runnable
.
Solution 2:
Just make your own
@FunctionalInterface
public interface Procedure {
void run();
default Procedure andThen(Procedure after){
return () -> {
this.run();
after.run();
};
}
default Procedure compose(Procedure before){
return () -> {
before.run();
this.run();
};
}
}
and use it like this
public static void main(String[] args){
Procedure procedure1 = () -> System.out.print("Hello");
Procedure procedure2 = () -> System.out.print("World");
procedure1.andThen(procedure2).run();
System.out.println();
procedure1.compose(procedure2).run();
}
and the output
HelloWorld
WorldHello