Java 8传递方法作为参数 [英] Java 8 pass method as parameter

查看:6238
本文介绍了Java 8传递方法作为参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

目前进入Java 8 lambda表达式和方法引用。

Currently getting into Java 8 lambda expressions and method references.

我想传递一个没有args且没有返回值的方法作为另一个方法的参数。这就是我的做法:

I want to pass a method with no args and no return value as argument to another method. This is how I am doing it:

public void one() {
    System.out.println("one()");
}

public void pass() {
    run(this::one);
}

public void run(final Function function) {
    function.call();
}

@FunctionalInterface
interface Function {
    void call();
}

我知道 java.util.function 例如功能< T,R> 但我没有找到没有参数但没有产生结果的。

I know there is a set of predefined functional interfaces in java.util.function such as Function<T,R> but I didn't find one with no arguments and not producing a result.

推荐答案

真的没关系; Runnable 也会这样做。

It really does not matter; Runnable will do too.

Consumer<Void>,
Supplier<Void>,
Function<Void, Void>

这篇关于Java 8传递方法作为参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆