package com.boeh.leshang.test;
import java.lang.reflect.Field;
import java.util.List;
public class TestReflect {
public static void main(String[] args) {
List<APerson> listresult= dy(APerson.class);
// for (int i=0;i<listresult.size();i++){
// System.out.print(listresult.get(i).getName());
// }
}
public static <T> List<T> dy( Class<T> entityClass ){
/**
* 这里怎么得到entityClass的get set 方法呢? 然后把值返回给list集合
*/
return null;
}
class APerson {
private String name;
private String sex;
// APerson(){
// name= "John ";
// sex= "男 ";
// age=45;
// }
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
}
------解决思路----------------------
抢个沙发。
看看这篇帖子能解决你的问题不 。
http://blog.csdn.net/chenyi0834/article/details/7639708
------解决思路----------------------
http://blog.csdn.net/chenyi0834/article/details/7639708
链接无法点吗
------解决思路----------------------
如果你的get set 方法是 标准的话。
那就可以这么做.
Class entityClass = Integer.class;
Field[] temp = entityClass.getDeclaredFields();
for (Field field : temp) {
Class<?> tempc = field.getType();
String fieldName = field.getName();
fieldName = fieldName.substring(0, 1).toUpperCase()+fieldName.substring(1, fieldName.length());
if(temp.equals(boolean.class)){
System.out.println("get "+ entityClass.getDeclaredMethod("is"+fieldName, null) );
System.out.println("set "+ entityClass.getDeclaredMethod("set"+fieldName, boolean.class);
}else {
System.out.println("get "+ entityClass.getDeclaredMethod("get"+fieldName, null) );
System.out.println("set "+ entityClass.getDeclaredMethod("set"+fieldName, boolean.class);
}
}
------解决思路----------------------
上面的 entryClass 是 Integer 类型的, 只是示例。 改成你自己的即可