就初始化用!
给你个我写的东西``虽然很烂`但是可以了解反射原理
bean 传一个bean的类型 例:User.class
str 以一个字符传方式传递值 name=xiaomaha,password=123456
name,password 对应bean中的属性.属性必须有set和get方法!
动态调用setXXXX()方法
public static Object createObject(Class bean, String str) throws Exception, Exception {
Method[] m = bean.getMethods();
Object obj = bean.newInstance();
String[] ss = str.split(",");
for (int j = 0; j < ss.length; j++) {
String[] sts = ss[j].split("=");
for (int i = 0; i < m.length; i++) {
if (m[i].getName().startsWith("set")) {
if (m[i].getName().substring(3, m[i].getName().length()).equalsIgnoreCase(sts[0])) {
Class[] cl = m[i].getParameterTypes();
for (int k = 0; k < cl.length; k++) {
if (cl[k].getName().equals("int") || cl[k].getName().equals("java.lang.Integer")) {
m[i].invoke(obj, new Integer(sts[1]));
}
if (cl[k].getName().equals("java.lang.String")) {
m[i].invoke(obj, sts[1]);
}
if (cl[k].getName().equals("java.util.Date")) {
m[i].invoke(obj, getTheTime(sts[1]));
}
if (cl[k].getName().equals("java.sql.Date")) {
m[i].invoke(obj, getTheTime(sts[1]));
}
}
}
}
}
}
return obj;
}