我有一个String数组,其中包含yyyyyy类中方法的名称
在xxxxxx课堂上,我正在制作一个yyyyyy实例(比如说obj).现在我可以调用obj.function_name(),除了我想function_name从循环中的String数组中读取.这可能吗?
Mic*_*zek 24
可以使用反射,但如果你需要这种行为,你应该对你的设计提出一些质疑.Class.getMethod获取String方法名称并返回一个Method对象,然后可以调用该对象.invoke来调用该方法
这些Javadoc页面应该是有用的:
示例代码(假设yyyyyy方法采用一个int参数,只是为了显示参数传递):
yyyyyy obj = new yyyyyy();
String[] methodNames = {"foo", "bar", "baz"};
for(String methodName : methodNames) {
Method method = Class.forName("yyyyyy").getMethod(methodName, new Class[] {int.class});
method.invoke(obj, 4); // 4 is the argument to pass to the method
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
45409 次 |
| 最近记录: |