package com.test;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.beanutils.BeanUtils;
import com.test.pojo.Person;
public class TestObject {
@SuppressWarnings({ "rawtypes", "unchecked" })
public static void main(String[] args) {
List<Map<String,String>> personList = new ArrayList<Map<String,String>>();
Person person = new Person();
long time1 = System.currentTimeMillis();
for (int i = 0; i <3; i++) {
person.setId(i+1);
person.setName("SS"+i);
person.setAge(3+i);
Map map = new HashMap<String, String>();
try {
map = BeanUtils.describe(person);//javaBean 转 Map
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
personList.add(map);
}
System.out.println(System.currentTimeMillis()-time1);
}
}
需要使用 commons-beanutils-1.9.1.jar , commons-logging-1.1.1.jar 这两个包
转换结果 Map 里 debug : [{id=1, age=3, name=SS0, class=class com.test.pojo.Person}, {id=2, age=4, name=SS1, class=class com.test.pojo.Person}, {id=3, age=5, name=SS2, class=class com.test.pojo.Person}]