发布日期:2018-03-26
JAVA中,如何根据字符串形式的方法名调用相应方法?+ 查看更多
JAVA中,如何根据字符串形式的方法名调用相应方法?
+ 查看更多
发布日期:2018-03-10 10:52
分类:JAVA
浏览次数:394
对于下面2个变量:
Object obj; String methodName = "getName";
在不清楚 obj 具体属于哪一个类的情况下,我要如何通过 methodName 中给出的方法名来调佣这个方法?
被调用的方法没有参数,返回值是string 类型,是 Java Bean 的一个getter 方法。
回答:
代码如下:
java.lang.reflect.Method method; try { method = obj.getClass().getMethod(methodName, param1.class, param2.class, ..); } catch (SecurityException e) { ... } catch (NoSuchMethodException e) { ... }
try { method.invoke(obj, arg1, arg2,...); } catch (IllegalArgumentException e) { ... } catch (IllegalAccessException e) { ... } catch (InvocationTargetException e) { ... }可以参考Java Reflection.