关于java反射取得方法并运行的问题

strike2368168 2010-07-06 09:56:13
现在的需求是想通过类型,方法名,和参数,运行相应方法的需求。
现在的问题是,目标的方法中如果为基本类型,或者是自定义的bean都可以正确取得。
1、但是当目标参数传入List<自定义Bean>的形式时就无法正常取出了,会报出找不到匹配方法的异常
2、如果我把参数改成“自定义Bean[]”是可正常取得方法的,但是invork却报参数类型错误
很困惑,请有此方面经验的大侠指点一下怎么解决
希望可以给个实现代码,本人理解有限
...全文
110 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
strivezsh 2010-07-06
  • 打赏
  • 举报
回复
java的泛型不是假的吗?
strivezsh 2010-07-06
  • 打赏
  • 举报
回复

package Test;

import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;

public class Test {
public static void main(String[] args) throws Exception {
Test test = new Test();
A a = test.new A();
a.setA("a");
A b = test.new A();
b.setA("b");
A c = test.new A();
c.setA("c");
List<A> list = new ArrayList<A>();
list.add(a);
list.add(b);
list.add(c);
Class cls = Class.forName("Test.Test");
Method m = cls.getMethod("show", List.class);
m.invoke(test, list);
}

public void show(List<A> list){
for(A a:list){
System.out.println(a.getA());
}
}

class A{
private String a;

public String getA() {
return a;
}

public void setA(String a) {
this.a = a;
}

}
}


能出来啊!
ronniegxq 2010-07-06
  • 打赏
  • 举报
回复
不懂帮顶
wqwq8246222 2010-07-06
  • 打赏
  • 举报
回复
是假的,他就是编译器有作用。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧