java反射

//测试
package demo;

import java.util.HashMap;
import java.util.Map;

public class Demo1 {
public static void main(String[] args) {
Map map=new HashMap<String,Object>();
map.put("uname","andy");
map.put("age" , 18);
map.put("sex","男");

UserForm form=new UserForm();
Utils.copyParamsToObject(map, form);
System.out.println(form);


}

}
//
定义的方法
package demo;

import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.Iterator;
import java.util.Map;

public class Utils {
public static void copyParamsToObject(Map map,Object obj){

try {
Class clazz=obj.getClass();

Field[] fields=clazz.getDeclaredFields();

for(Iterator<String> itr=map.keySet().iterator();itr.hasNext();){
String key=itr.next();
for(Field f:fields){
if(f.getName().equals(key)){
String methodName="set"+key.substring(0,1).toUpperCase()+key.substring(1);
Method m1=clazz.getDeclaredMethod(methodName, f.getType());

m1.invoke(obj, map.get(key));
break;
}
}
}

} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}


//定义一个类
package demo;

public class UserForm {
private String uname;
private int age;
private String pwd;

public String getUname() {
return uname;
}

public void setUname(String uname) {
this.uname = uname;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}


public String getPwd() {
return pwd;
}

public void setPwd(String pwd) {
this.pwd = pwd;
}

public UserForm() {
// TODO Auto-generated constructor stub
}

@Override
public String toString() {
return "UserForm [uname=" + uname + ", age=" + age + ", pwd=" + pwd
+ "]";
}


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值