按特定顺序调用方法

时间:2017-01-17 17:35:55

标签: java reflection

基本上,我有一些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()方法没有按特定顺序返回方法。所以我不知道该怎么做。我在考虑将它们重命名为load1load2load3等等,因为我可以按照正确的顺序对它们进行排序。

因此,我想知道以特定顺序调用方法的最佳方法是什么。

0 个答案:

没有答案