本文主要是介绍Java动态调用实体的get方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
/**
* 动态调用实体的get方法(注意返回值)
* @param dto 实体
* @param name 动态拼接字段
* @return {@link String}
* @date 2021/10/26 11:06
* @version 1.0.0 <br/>
**/
public static String getValue(Object dto, String name) {
String val = "无数据";
try {
if (StringUtils.isEmpty(name)) return val;
Method m = dto.getClass().getMethod(("get" + toUpperCase4Index(name)));
// 调用getter方法获取属性值
//java.sql.Timestamp类型转换
if (m.getGenericReturnType().equals(java.sql.Timestamp.class)){
String format = DateUtil.format(DateUtil.timeToDate((Timestamp) m.invoke(dto)), DateUtil.YMD_DASH_WITH_TIME);
val = null == format ? "无数据": format;
//java.util.Date类型转换
}else if (m.getGenericReturnType().equals(java.util.Date.class)){
String format = DateUtil.format((Date) m.invoke(dto), DateUtil.YMD_DASH_WITH_TIME);
val = null == format ? "无数据": format;
}else {
val = StringUtils.isNotEmpty((String)m.invoke(dto)) ? (String)m.invoke(dto) : "无数据";
}
} catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) {
e.printStackTrace();
}
return val;
}
这篇关于Java动态调用实体的get方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!