【发布时间】:2011-05-07 12:21:36
【问题描述】:
假设我有 Method1(void)、Method2(void)...
有没有办法我可以选择其中一个变量?
String MyVar=2;
MethodMyVar();
【问题讨论】:
-
可以,但为什么要这样做?
-
我实际上遇到过一个案例,使用反射 + HashMap 比使用大量 if/else 字符串比较和条件方法调用更有意义。
-
@cHao:当然更好的方案是编写一个接口并使用 HashMap 来存储该接口的对象作为 lambda 函数的模拟。
-
@Mark E:如果我想调用的所有方法都在同一个对象上,则不会。使用接口意味着有一个单独的类来表示每个方法,这意味着一大堆类和一大堆设置工作来完成我用注释、反射和 HashMap 用更少的代码更可靠地完成的工作。除非我理解错了。
-
“你为什么要这样做”的回答是徒劳的、粗鲁的和苹果式的。