例如,以Runnable为例。从Scala中调用它的最简洁方式是什么?
我目前正在这样做:
在声明了以下特性之后:
我目前正在这样做:
r { () => runnable-body; null; }
在声明了以下特性之后:
trait Implicits {
def r(fun: () => Unit) = new Runnable { def run() = fun() }
}
但这有两个缺点:
它只适用于Runnable,而不是所有的函数接口。
肯定有一种更简洁的方式来表达这个。与Java 8更简单的
() -> runnable-body
相比较。