java invoke 传递参数问题

现在我有一个名为TestDemo的类,包含一个publicstaticStringmethod(Stringstr){returnstr;}的方法我想使用反射机制,然后使... 现在我有一个名为TestDemo的类,包含一个 public static String method(String str){return str;}的方法
我想使用反射机制,然后使用invoke来执行该方法,我该怎么写:
Class cl=Class.forName("TestDemo");
Method method=cl.getMethod("method", new Class[]{});
method.invoke(null,new Object[]{"hello_world"});

这样会说NoSuchMethodException,求大神指教该如何在invoke中给某个方法传递参数
展开
 我来答
匿名用户
2013-01-31
展开全部
//获得了Workbook对象之后,就可以通过它得到Sheet(工作表)对象了
Sheet[] sheet = wb.getSheets();

if(sheet!=null&&sheet.length>0){
//对每个工作表进行循环
for(int i=0;i < sheet.length;i++){
//得到当前工作表的行数
int rowNum = sheet[i].getRows();
System.out.println("rowNum ### "+rowNum);
for(int j=4;j < rowNum;j++){
//得到当前行的所有单元格
Cell[] cells = sheet[i].getRow(j);
Object objBean = objClass.newInstance();
if(cells!=null&&cells.length>0){
//对每个单元格进行循环
for(int k=0;k < cells.length;k++){
//读取当前单元格的值
String cellValue = cells[k].getContents();
System.out.println("cellValue"+cellValue);
try {
proName = field[k].getName();
ReflectgetMethod.invokeSet(objBean, proName, cellValue);

} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
listBean.add(objBean);
}
}
}
}

我这是在导入excel数据时候用到的,希望对你有用吧!
追问
完全没用,乱拷代码
xupeiying
2013-01-31 · TA获得超过468个赞
知道小有建树答主
回答量:553
采纳率:0%
帮助的人:563万
展开全部
Method method=cl.getMethod("method", new Class[]{}); 这个参数传的不对。

Class[] cls = new Class[1];
cls[0] = String.class;
Method method=cl.getMethod("method", cls);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1024小度
推荐于2016-04-01
知道答主
回答量:14
采纳率:0%
帮助的人:7.8万
展开全部
public class ReflectDemo {
public static void main(String[] args) throws Exception {
Class clazz = Class.forName("test.reflect.TestDemo");
Method method = clazz.getMethod("method", String.class);
method.invoke(null, "HelloWorld");
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yuezhiwen5
2013-01-31 · TA获得超过1165个赞
知道小有建树答主
回答量:810
采纳率:100%
帮助的人:291万
展开全部
Method method=cl.getMethod("method", String.class);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式