Java Lambda什么都不做

Java Lambda什么都不做,java,lambda,java-8,runnable,Java,Lambda,Java 8,Runnable,我需要一个函数接口Runnable的lambda表达式,它什么都不做。我曾经有一个方法 private void doNothing(){ //Do nothing } 然后使用this::doNothing。但是我发现了一种更简单的方法来实现这一点。我现在使用的lambda表达式是: () -> {} 对于Runnable接口,您应该具有如下内容: Runnable runnable = () -> {}; 其中: (),因为run方法不接收参数 {}在本例中为空的

我需要一个函数接口
Runnable
的lambda表达式,它什么都不做。我曾经有一个方法

private void doNothing(){
    //Do nothing
}

然后使用
this::doNothing
。但是我发现了一种更简单的方法来实现这一点。

我现在使用的lambda表达式是:

() -> {}

对于Runnable接口,您应该具有如下内容:

Runnable runnable = () -> {};
其中:

  • ()
    ,因为run方法不接收参数
  • {}
    在本例中为空的run方法体
之后,您可以调用该方法

runnable.run();

-
Runnables.doNothing()

包含一个用于6个字符表达式的库是疯狂的。即使您的依赖项中已经有番石榴,此解决方案也比简单表达式长,并且不会提高可读性。在我看来,它确实提高了可读性。您执行静态导入,在代码中只看到“doNothing()”。读者很快就会明白,你故意决定“什么也不做”。Ofk将番石榴添加到类路径中仅仅是因为这将是一种浪费。