java 反射技巧

Posted SanPiBrother

tags:

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

如何获取方法返回值像List、Map中的泛型类型?

    Type type = method.getGenericReturnType();//返回参数带泛型
    if (type instanceof ParameterizedType) { //判断是不是参数化类型
        ParameterizedType pType = (ParameterizedType) type;
        Type[] types = pType.getActualTypeArguments();
    }

java 通过反射填充属性

    public static  <T> T attributeFill(Class<T> tClass, Map<String, String> attribute) throws Exception {

        T targetObj = tClass.newInstance();
        for (Map.Entry<String, String> entry : attribute.entrySet()) {
            String filedName = entry.getKey();
            String filedValue = entry.getValue();
            filedValue = entry.getKey();
            //filedName 字段名必须要和tClass中的字段名一致
            PropertyDescriptor pd = new PropertyDescriptor(filedName, tClass);
            Method writeMethod = pd.getWriteMethod();
            writeMethod.invoke(targetObj, filedValue);
        }
        return targetObj;
    }

以上是关于java 反射技巧的主要内容,如果未能解决你的问题,请参考以下文章

反射机制

Android课程---Android Studio使用小技巧:提取方法代码片段

反射机制入门

反射机制入门

VS2015使用技巧 打开代码片段C#部分

26个jQuery代码片段使用技巧