public List getFiledsInfo(Object o){ Field[] fields=o.getClass().getDeclaredFields(); String[] fieldNames=new String[fields.length]; List list = new ArrayList(); Map infoMap=null; for(int i=0;i<fields.length;i++){ infoMap = new HashMap(); String tyle = fields[i].getType().toString(); String[] li = tyle.trim().split("\\."); String type = li[li.length-1]; infoMap.put("type", type.toUpperCase()); infoMap.put("name", fields[i].getName()); //infoMap.put("value", getFieldValueByName(fields[i].getName(), o)); list.add(infoMap); } return list; } public Object getFieldValueByName(String fieldName, Object o) { try { String firstLetter = fieldName.substring(0, 1).toUpperCase(); String getter = "get" + firstLetter + fieldName.substring(1); Method method = o.getClass().getMethod(getter, new Class[] {}); Object value = method.invoke(o, new Object[] {}); return value; } catch (Exception e) { return null; } }
转载于:https://www.cnblogs.com/zhouchunDIY/p/8259643.html