Java 8 方法引用到静态 void 方法

7
有没有办法引用返回void的静态方法?
我尝试过这样做:
public Function<Runnable, Void> runner = Platform::runLater;

但它会显示“返回类型有误,无法将void转换为java.lang.Void”。
1个回答

16

如果您的方法没有返回值,请勿使用Function接口。

请改用Consumer<Runnable>

public Consumer<Runnable> runner = Platform::runLater;

它代表接受单个输入参数并且不返回结果的操作。


这个尴尬的时刻,我为自己的问题感到羞愧:D - vach
6
但对于这个特定的情况,你可能更喜欢使用Executor,因为它是自然的Runnable -> void接口。这尤其方便,因为已经有接受Executor的API方法,在适当的情况下可以直接使用。 - Holger

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接