没有参数和返回值的 Java 8 函数接口

2022-08-31 08:15:03

对于不带任何内容且不返回任何内容的方法,Java 8 函数接口是什么?

即,等效于具有返回类型的C#无参数?Actionvoid


答案 1

如果我理解正确,您需要一个具有方法的功能接口。在这种情况下,您可以简单地使用Runnablevoid m()


答案 2

只需制作自己的

@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

推荐