/**
* 取得object欄位名稱
* @param clz
* @return
*/
public List<String> getFieldNameList(Object clz) {
List<String> result = Lists.newArrayList();
Field[] fields = clz.getClass().getDeclaredFields();
result = Arrays.stream(fields).map(item -> item.getName()).collect(Collectors.toList());
return result;
}
/**
* 根據欄位名稱取得欄位值
* @param fieldName
* @param obj
* @return
*/
public Object getFieldValueByName(String fieldName, Object obj) {
try {
String upperFirstCaseName = fieldName.substring(0, 1).toUpperCase() + fieldName.substring(1);
String getter = String.format("get%s", upperFirstCaseName);
Method method = obj.getClass().getMethod(getter, new Class[] {});
Object value = method.invoke(obj, new Object[] {});
return value;
} catch (Exception e) {
return null;
}
}