ListUtils import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import java.util.ArrayList;import java.util.List;import org.springframework.util.CollectionUtils;@SuppressWarnings("
import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.List; import org.springframework.util.CollectionUtils; @SuppressWarnings("unchecked") public class ListUtils { public static List getFiledList(List list, String filed) { if (CollectionUtils.isEmpty(list)) return null; List filedList = new ArrayList(); try { for (Object obj : list) { Class clazz = obj.getClass();// 获取集合中的对象类型 Field[] fds = clazz.getDeclaredFields();// 获取他的字段数组 for (Field field : fds) {// 遍历该数组 String fdname = field.getName();// 得到字段名, Method method = clazz.getMethod("get" + change(fdname), null);// 根据字段名找到对应的get方法,null表示无参数 if (null != method && filed.equals(fdname)) { Object val = method.invoke(obj, null); filedList.add(val); } } } } catch (SecurityException e) { e.printStackTrace(); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (NoSuchMethodException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } return filedList; } /** * @param src * 源字符串 * @return 字符串,将src的第一个字母转换为大写,src为空时返回null */ public static String change(String src) { if (src != null) { StringBuffer sb = new StringBuffer(src); sb.setCharAt(0, Character.toUpperCase(sb.charAt(0))); return sb.toString(); } else { return null; } } public static void main(String[] args) { Listlist = new ArrayList (); Student s1 = new Student(); s1.setId(1); s1.setName("name1"); s1.setAddress("address1"); list.add(s1); Student s2 = new Student(); s2.setId(2); s2.setName("name2"); s2.setAddress("address2"); list.add(s2); Student s3 = new Student(); s3.setId(3); s3.setName("name3"); s3.setAddress("address3"); list.add(s3); Student s4 = new Student(); s4.setId(4); s4.setName("name4"); s4.setAddress("address4"); list.add(s4); List filedList = getFiledList(list,"address"); for (int i = 0; i < filedList.size(); i++) { System.out.println(filedList.get(i)); } } } class Student { private int id; private String name; private String address; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } }