一直都在用list<VO>这样绑定实体的取值,用get,就可以取值了,但是用到,List<Object>或者List<String>等等时却无法取值的问题。
参考了一下网上的demo,
package com.hb.test;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) throws IllegalArgumentException,
Exception {
Person p1 = new Person("111", "aaa");
Person p2 = new Person("222", "bbb");
List list = new ArrayList();
list.add(p1);
list.add(p2);
test(list); //调用test方法
}
public static void test(List list) throws Exception, IllegalAccessException {
for (int i = 0; i < list.size(); i++) {
Field[] fields = list.get(i).getClass().getDeclaredFields();
Object oi = list.get(i);
for (int j = 0; j < fields.length; j++) {
if(!fields[j].isAccessible()){
fields[j].setAccessible(true);
}
System.out.println(fields[j].get(oi)); //将单位0开始的list[0],里面的每一个元素取出来
}
}
}
}