Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java.util.function的Java列表_Java - Fatal编程技术网

Java.util.function的Java列表

Java.util.function的Java列表,java,Java,可以用Java创建函数列表吗 我有一堆函数,没有参数也没有返回类型,我想把它们放在一个列表中。我尝试了列表,但似乎无法将它们放入其中。如果这些“函数”是没有参数的void方法,您可以使用Runnable: class MyClass { void someMethod() { ... } static void anotherMethod() { ... } } MyClass obj = new MyClass(); List<Runnable> list =

可以用Java创建函数列表吗

我有一堆函数,没有参数也没有返回类型,我想把它们放在一个列表中。我尝试了
列表
,但似乎无法将它们放入其中。

如果这些“函数”是没有参数的
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);
class-MyClass{
void someMethod(){…}
静态无效anotherMethod(){…}
}
MyClass obj=新的MyClass();
列表=新的ArrayList();
//比如方法
list.add(obj::someMethod);
//对于静态方法
添加(MyClass::anotherMethod);

这是因为
Runnable
是一个函数,它的
run()
方法与您的方法匹配:
void
并且没有参数。

函数没有参数也没有返回类型?因此它们不是
java.util.Function
。事实上,为什么称它们为“函数”?如果它们的返回类型是
void
并且没有参数,为什么不将它们封装在
Runnable
中呢?啊哈,太棒了,不知道Runnable。真管用!