java.util.function的Java列表

时间:2015-05-21 19:24:58

标签: java

是否可以在Java中创建函数列表?

我有一堆函数,没有参数也没有返回类型,并且想把它们放在一个列表中。我尝试使用List<Consumer<Void>>,但似乎无法将它们放在那里。

1 个答案:

答案 0 :(得分:1)

如果这些“函数”是没有参数的void方法,则可以使用Runnable

class MyClass {
    void someMethod() { ... }
    static void anotherMethod() { ... }
}

MyClass obj = new MyClass();

List<Runnable> list = new ArrayList<>();

// for instance methods
list.add(obj::someMethod);

// for static methods
list.add(MyClass::anotherMethod);

这是有效的,因为Runnablefunctional interface,其run()方法与您的方法匹配:void且没有参数。