假设我在Java 8中具有以下功能接口:
interface Action<T, U> {
U execute(T t);
}
在某些情况下,我需要没有参数或返回类型的操作。所以我写这样的东西:
Action<Void, Void> a = () -> { System.out.println("Do nothing!"); };
但是,它给了我编译错误,我需要写成
Action<Void, Void> a = (Void v) -> { System.out.println("Do nothing!"); return null;};
这很丑。有什么方法可以摆脱Void
类型参数?
Runnable
,这是你正在寻找Runnable r = () -> System.out.println("Do nothing!");