Java动态调用实体的get方法

2021/10/26 20:40:22

本文主要是介绍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方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程