我需要一个函数式接口 Runnable
的 lambda 表达式,它什么也不做。我以前有一个方法。
private void doNothing(){
//Do nothing
}
然后使用this::doNothing
。但我已经找到了一个更简短的方法。
对于Runnable接口,您应该编写类似以下内容的代码:
Runnable runnable = () -> {};
其中:
()
表示run方法没有参数{}
是run方法的主体,在这个例子中是空的之后,你可以调用该方法。
runnable.run();
@FunctionalInterface
的精神中使用强类型的人来说,这里有一个等效的解决方案:https://dev59.com/B10a5IYBdhLWcg3w3MA-#76985309 - chaotic3quilibriumlambda表达式:
() -> {}
Guava - Runnables.doNothing();
() -> {}
会导致JVM每次调用时创建新对象,不像doNothing
可能引用单例对象。 - Mateusz Fryc