一个反射的问题

yoursliyue 2008-02-21 07:11:25
最近读了夏昕的spring一书,发现中间有个关于反射的问题不太明白 望大家指教

Class cls = Class.forName("new.xiaxin.beans.User");
Method mtd = cls.getMethod("setName",new Class[]{String.class});//new Class[]{String.class})这是什么意思啊????
Object obj = (Object)cls.newInstance();
mtd.invoke(obj,new Object[]{"Erica"});
return obj;
...全文
145 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
flymaxdragon 2008-06-30
  • 打赏
  • 举报
回复
new Class[]{String.class})
按声明顺序标识该方法形式参数类型的 Class 对象的一个数组
因为setName方法有个参数是String类型的
如果setName方法有2个参数,比如setName(String str,int i),那就写成new Class[]{String.class,int.class}
victor_woo 2008-06-28
  • 打赏
  • 举报
回复
很少写,
只要是重复使用的数据,一般定义为static变量
victor_woo 2008-06-28
  • 打赏
  • 举报
回复
因为setName是这样的一个方法
setName(String name)

如果setContext(String name,Integer age),那要怎么调用?

Method mtd = cls.getMethod("setContext",new Class[]{String.class,Integer,class});//

相当于
Class[] paraTypes = {String.class,Integer,class};
Method mtd = cls.getMethod("setContext",paraTypes);

这种重复创建数组的代码我很好写
kuyesuifeng 2008-06-28
  • 打赏
  • 举报
回复
new Class[]{String.class}

与new int[]{1,2,3}一样
ml_dark 2008-06-28
  • 打赏
  • 举报
回复
..
Method mtd = cls.getMethod("setName",new Class[]{String.class});//new Class[]{String.class})这是什么意思啊????


这个是说:cls类的方法setName的参数有一个,且类型为string
JavaLover00000 2008-06-28
  • 打赏
  • 举报
回复
就是new 了一个Class 数组了 8楼 讲的很好。。
roonten 2008-06-27
  • 打赏
  • 举报
回复
// new Class[]{String.class})这是什么意思啊????


String.class 返回一个类的类型,当前是String类的类型。
showtime520 2008-04-30
  • 打赏
  • 举报
回复
new Class[]{String.class}
创建一个Class类的数组,元素有String的类对象
这是匹配方法的传入类型
cljspn 2008-02-27
  • 打赏
  • 举报
回复
//new Class[]{String.class})这是什么意思啊????
为所调方法的参数类型。别忘了给分哈
极客九剑 2008-02-26
  • 打赏
  • 举报
回复
new Class[]{Sring.class}
是类的数组了
就像new Object[]{1,"ss",new Date()}
或new int[]{1,2,3}
一样啊
lizzz 2008-02-21
  • 打赏
  • 举报
回复
一种可以偷懒的写法,等同于
Class[] clzs=new Class[1];
clzs[0] = String.class;

62,623

社区成员

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

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