java 在做一些泛类的时候需要根据传进来的 属性值 来获取实体类的属性。
这个时候需要讲File[]中的 name(propertyName)首字母转换成大写
然后拼写字符串 get+name 获取method
char[] cs=name.toCharArray();
cs[0]-=32;
name= String.valueOf(cs);
List models = new ArrayList();
models.add(studentA);
models.add(studentB);
models.add(studentC);
List<String> pros = new ArrayList<String>();
pros.add("name");
if(models.size()!=0){
for(Object obj:models){
for(String pro:pros){
Field field=obj.getClass().getDeclaredField(pro);
SuppressWarnings sup = field.getAnnotation(SuppressWarnings.class);
System.out.println(sup.value());
Type type = field.getType();
System.out.println(type.getTypeName());
char[] cs=pro.toCharArray();
cs[0]-=32;
pro = "get"+String.valueOf(cs);
Method method = obj.getClass().getMethod(pro);
String name = (String)method.invoke(obj);
System.out.println("================");
System.out.println(name);
}
}
}