|
|
|
@ -33,58 +33,4 @@ public class StringUtil {
|
|
|
|
|
}
|
|
|
|
|
return fieldNames;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取对象所有属性名
|
|
|
|
|
* @param clazz
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public static List<String> getFieldList(Class clazz) {
|
|
|
|
|
Field[] fields = clazz.getDeclaredFields();
|
|
|
|
|
Field[] superFields = clazz.getSuperclass().getDeclaredFields();
|
|
|
|
|
List<String> fieldNames = new ArrayList<>();
|
|
|
|
|
for(int i = 0;i < fields.length; i++){
|
|
|
|
|
fieldNames.add(fields[i].getName());
|
|
|
|
|
}
|
|
|
|
|
for(int i = 0;i < superFields.length; i++){
|
|
|
|
|
fieldNames.add(superFields[i].getName());
|
|
|
|
|
}
|
|
|
|
|
return fieldNames;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 根据属性名和对象获取属性对应的值
|
|
|
|
|
* @param fieldName
|
|
|
|
|
* @param o
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public static 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;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private static Pattern linePattern = Pattern.compile("_(\\w)");
|
|
|
|
|
|
|
|
|
|
/** 驼峰转下划线 */
|
|
|
|
|
public static Map<String, Object> humpToLine(Map<String, Object> map) {
|
|
|
|
|
Map<String, Object> resultMap = new HashMap<>();
|
|
|
|
|
for (String str : map.keySet()) {
|
|
|
|
|
str = str.toLowerCase();
|
|
|
|
|
Matcher matcher = linePattern.matcher(str);
|
|
|
|
|
StringBuffer sb = new StringBuffer();
|
|
|
|
|
while (matcher.find()) {
|
|
|
|
|
matcher.appendReplacement(sb, matcher.group(1).toUpperCase());
|
|
|
|
|
}
|
|
|
|
|
matcher.appendTail(sb);
|
|
|
|
|
resultMap.put(sb.toString(), map.get(str));
|
|
|
|
|
}
|
|
|
|
|
return resultMap;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|