如何在 Java 中创建充满方法的列表并对其进行迭代(使用方法)

Sap*_*ppo 2 java collections iterator

我希望能够创建充满我自己的方法的列表(集合、数组),并在迭代的每个步骤中调用该方法。对此最好的解决方案是什么?

我想要这样的东西:

List a = new List();
a.add(myCustomMethod1());
a.add(myCustomMethod2());

Object o = new Object();

for (Method m : a){
    m(o);
}
Run Code Online (Sandbox Code Playgroud)

Rod*_*gea 7

在 Java 8 及更高版本中,您可以创建函数接口列表来存储方法,如以下示例所示:

// Create a list of Consumer
List<Consumer<String>> methodList= new ArrayList<>();

// Store the methods in the list
methodList.add(p -> method1(p));
methodList.add(p -> method2(p));
methodList.add(p -> method3(p));
methodList.forEach(f -> f.accept("Hello"));
Run Code Online (Sandbox Code Playgroud)

没有参数的函数可以使用 Runnable:

List<Runnable> methods = new ArrayList<>();
methods.add(() -> method1());
methods.add(() -> method2());
methods.add(() -> method3());
methods.forEach(f -> f.run());
Run Code Online (Sandbox Code Playgroud)

  • 如果您想使用 void、无参数方法怎么办?只使用原始消费者类? (2认同)