Функционального интерфейса Java 8 без аргументов и без возвращаемого значения


Что такое функциональный интерфейс Java 8 для метода, который ничего не принимает и ничего не возвращает?

т. е., эквивалент к C# parameterless Action с void тип возвращаемого значения?

2 71

2 ответа:

Если я правильно понял вы хотите функциональный интерфейс с методом void m(). В этом случае вы можете просто использовать Runnable.

просто сделайте свой собственный

@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();
        };
    }
}

и использовать его в таком виде

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();

}

и вывода

HelloWorld
WorldHello