我有大量的方法需要应用于给定arrayList的每个成员。问题是,我在编译时不确定哪些方法需要应用于arrayList,并且每次(使用检查)应用它们都将花费巨大(实时应用程序)。所以我现在正在寻找一种方法来给这个列表提供一些方法(一个函数编程)并让它们运行。我知道我可以创建特殊的类,其中每个类只使用一个方法在其每个成员上使用,但大约有50个方法,因此可以快速升级到50个不同的类。这会给项目增加许多不必要的复杂性。有另一种方法吗?对数组列表的每个元素的java运行方法
所以,我正在寻找的是这样的:
public void runMethode(Function f,ArrayList<ObjectWithF> al){
for(ObjectWithF o:al){
o.f();
}
}
难道这样的事情在Java中存在吗?或者我将不得不调用所有50种方法或创建50个不同的类?或者包装模式在这里工作?
这是reflection'的'使用绝对不当的例子,你不会得到任何运行时检查,这是真的,真的很糟糕的设计 –
我同意这种反思的使用是可疑的,至少可以说。在某种程度上,它可能*取决于应该如何确定函数。但最有可能的是,在这里使用自己的界面的方法更合适。 – Marco13