使用 PropertyDescriptor

Posted 初窥门径

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用 PropertyDescriptor相关的知识,希望对你有一定的参考价值。

使用 PropertyDescriptor 可以很方便的获得一个类的属性信息

PropertyDescriptor propertyDescriptor = BeanUtils.getPropertyDescriptor(o.getClass(), propName);

可以很方便的获取get、set方法,方便进行反射相关处理

propertyDescriptor.getReadMethod()
propertyDescriptor.getWriteMethod()

参考示例,根据对象和属性名,获取属性值

private String getObjPropStrVal(Object o, String propName) {
        PropertyDescriptor propertyDescriptor = BeanUtils.getPropertyDescriptor(o.getClass(), propName);
        if (propertyDescriptor != null) {
            Object val = null;
            try {
                val = propertyDescriptor.getReadMethod().invoke(o);
            } catch (Exception e) {
                e.printStackTrace();
            }
            if (val == null) {
                return null;
            } else if (propertyDescriptor.getPropertyType().getName().contains("Date")) {
                String date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format((Date) val);
                if (date.endsWith(" 00:00:00")) {
                    date = date.substring(0, 10);
                }
                return date;
            } else {
                return val.toString();
            }
        }
        return null;
    }

以上是关于使用 PropertyDescriptor的主要内容,如果未能解决你的问题,请参考以下文章

Java重要技术(13)内省之属性描述符PropertyDescriptor

反射之PropertyDescriptor

通过PropertyDescriptor反映射调用set和get方法

通过PropertyDescriptor反映射调用set和get方法

内省--注解

微信小程序代码片段