基本上,我有一些loadSomething()
void方法,我需要全部执行它们。因为我不想要:
//not actual names
loadMethod1();
loadMethod2();
等
我决定反映所有的方法。这就是我所拥有的。
Arrays.stream(getClass().getDeclaredMethods())
.filter(method -> method.getName().startsWith("load"))
.forEach(method -> {
try {
method.invoke(instance);
} catch (IllegalAccessException | InvocationTargetException e) {
e.printStackTrace();
}
});
我不知道代码是好还是坏,如果不是最好让我知道。
问题是,必须按特定顺序调用方法。但是我在Javadocs中读到getDeclaredMethods()
方法没有按特定顺序返回方法。所以我不知道该怎么做。我在考虑将它们重命名为load1
,load2
,load3
等等,因为我可以按照正确的顺序对它们进行排序。
因此,我想知道以特定顺序调用方法的最佳方法是什么。