欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

获取方法返回值泛型的真实类型

程序员文章站 2022-06-09 14:40:08
...
        //反射获取返回值
        Method method = clazz.getMethod("xxx");
        Class<?> returnType = method.getReturnType();
        if (returnType==List.class){
            Type type = method.getGenericReturnType();
            if (type instanceof ParameterizedType){
                Type[] actualTypeArguments = ((ParameterizedType) type).getActualTypeArguments();
                //因为list泛型只有一个值 所以直接取0下标
                String typeName = actualTypeArguments[0].getTypeName();
                //真实返回值类型 Class对象
                Class<?> actualType = Class.forName(typeName);
            }
        }