您的位置:首页 > 编程语言 > Java开发

[java]反射机制给属性使用set方法构造对象

2016-12-06 22:36 866 查看

测试代码

package main;

import java.lang.reflect.Field;
import java.lang.reflect.Method;

public class TestMain2 {

public static void main(String[] args) throws Exception{
// TODO Auto-generated method stub
System.out.println(createFromClass("bean.Bird"));
}

public static Object createFromClass(String classStr) throws Exception{
Class<?> clazz = Class.forName(classStr);
Object object = clazz.newInstance();
Field[] fields = clazz.getDeclaredFields();
for(Field field: fields){
String name = field.getName();
String methodStr = "set"+name.toUpperCase().substring(0, 1)+name.substring(1);
Method method = clazz.getMethod(methodStr,new Class[]{field.getType()});
if(field.getType().getSimpleName().equals("String")){
method.invoke(object, "飞鸟");
}else if(field.getType().getSimpleName().equals("Integer")){
method.invoke(object, 30);
}
}
return object;
}

}


测试结果

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 反射机制
相关文章推荐