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