如何在Java中使用循环调用多个方法?

时间:2012-09-24 13:31:32

标签: java methods call

假设我有一些像这样的方法:

method1()
method2()
method3()
method4()
method5()

但我不想调用序列方法:

obj.method1()
obj.method2()
obj.method3()
obj.method4()
obj.method5()

这很无聊。如果我添加新方法:method6(),我需要添加手册:obj.method6()

如果我可以在Java中使用循环调用它们会更好。有人可以给我一些建议吗?

感谢!

3 个答案:

答案 0 :(得分:3)

尝试类似:

   for (int i=0;i<N;i++) {
      try {
        obj.getClass().getMethod("method"+i).invoke(obj);
      } catch (Exception e) {
         // give up
         break;
      }
    }

答案 1 :(得分:2)

public static void callABunchOfMethods(Object obj, int count) throws Exception {
  for (int i = 1; i <= count; i++)
    obj.getClass().getMethod("method"+i).invoke(obj);
}

答案 2 :(得分:1)

我不知道为什么你的方法使用了这种命名对话。如果它不仅是例如,您应该考虑为它们找到更好的解决方案。今天对你而言显而易见,但你的代码的追随者并不是真的。

关于手动添加假设的method6。我认为添加一行代码比减少代码并且损失代码的清晰度更重要。

我的建议是,你应该使用Facade pattern