/** * 将实体对象转化为Map * * @param object 对象实例 * @param bUnderscores 是否添加下划线 * @param extendFields 拓充属性数组 * @return */ public static Map<String, Object> convertEntityToMap( Object object, boolean bUnderscores, String[] extendFields) { Class<?> instance = object.getClass(); Field[] field = instance.getDeclaredFields(); try { /* 获取类属性 */ int length = field.length; Object[] fields = new String[length]; for (int i = 0; i < length; i++) { fields[i] = field[i].getName(); } fields = DPUtil.arrayMerge(fields, extendFields); // 拓充属性数组 /* 获取属性键值对 */ Map<String, Object> map = new LinkedHashMap<String, Object>(DPUtil.parseInt(fields.length / 0.75f)); for (Object item : fields) { String name = DPUtil.parseString(item); name = name.substring(0, 1).toUpperCase() + name.substring(1); Method method = instance.getMethod("get" + name); Object value = method.invoke(object); if (bUnderscores) name = DPUtil.addUnderscores(name); map.put(name, value); } return map; } catch (Exception e) { return null; } }