码迷,mamicode.com
首页 > 其他好文 > 详细

利用反射获取泛型

时间:2019-06-05 00:33:55      阅读:97      评论:0      收藏:0      [点我收藏+]

标签:ati   import   pes   rac   exception   integer   zed   system   获得   

package com.duchong.aar.reflect.T;

import java.lang.reflect.Method;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.List;
import java.util.Map;

public class DemoT {

    public void test01(Map<String,Integer> map, List<String> list){
        System.out.println("DemoT.test01()");
    }

    public Map<Integer,String> test02(){
        System.out.println("DemoT.test02()");
        return null;
    }

    public static void main(String[] args) {

        try {

            //获得指定方法参数泛型信息
            Method m = DemoT.class.getMethod("test01", Map.class,List.class);
            Type[] t = m.getGenericParameterTypes();
            for (Type paramType : t) {
                System.out.println("#"+paramType);
                if(paramType instanceof ParameterizedType){
                    Type[] genericTypes = ((ParameterizedType) paramType).getActualTypeArguments();
                    for (Type genericType : genericTypes) {
                        System.out.println("泛型类型:"+genericType);
                    }
                }
            }

            //获得指定方法返回值泛型信息
            Method m2 = DemoT.class.getMethod("test02", null);
            Type returnType = m2.getGenericReturnType();
            if(returnType instanceof ParameterizedType){
                    Type[] genericTypes = ((ParameterizedType) returnType).getActualTypeArguments();

                    for (Type genericType : genericTypes) {
                        System.out.println("返回值,泛型类型:"+genericType);
                    }

            }


        } catch (Exception e) {
            e.printStackTrace();
        }



    }
}

 

利用反射获取泛型

标签:ati   import   pes   rac   exception   integer   zed   system   获得   

原文地址:https://www.cnblogs.com/geekdc/p/10976764.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!