zoukankan      html  css  js  c++  java
  • Java之反射机制六:获取方法的泛型信息

    一.测试类

    public class Test02 {
    
        public void parameterTest(Map<Integer, Dog> map){
    
        }
    
        public Map<Integer,Dog> returnTest(){
            return new HashMap<Integer, Dog>();
        }
    }

    二.获取方法的参数中的泛型信息

        @Test  //获取方法的参数中的泛型信息
        public void test() throws NoSuchMethodException {
            Method method = Test02.class.getMethod("parameterTest", Map.class);
            //获取方法的参数类型
            Type[] genericParameterTypes = method.getGenericParameterTypes();
            for (Type genericParameterType : genericParameterTypes) {
                System.out.println("type:"+genericParameterType);
                //ParameterizedType:表示一种参数化类型,比如Collection<Object>
                if(genericParameterType instanceof ParameterizedType){
                    Type[] actualTypeArguments = ((ParameterizedType) genericParameterType).getActualTypeArguments();
                    for (Type parameterType : actualTypeArguments) {
                        System.out.println(parameterType);
                    }
                }
            }
        }

    运行结果:

     三.获取方法的返回值中的泛型信息

        @Test //获取方法的返回值中的泛型信息
        public void test2() throws NoSuchMethodException {
            Method method = Test02.class.getMethod("returnTest");
            //获取方法的返回值类型
            Type genericReturnType = method.getGenericReturnType();
            if(genericReturnType instanceof ParameterizedType){
                Type[] actualTypeArguments = ((ParameterizedType) genericReturnType).getActualTypeArguments();
                for (Type parameterType : actualTypeArguments) {
                    System.out.println(parameterType);
                }
            }
        }

  • 相关阅读:
    DateTimeHelper
    Check F5 refresh submit post back repeatly
    GZip Compress SoapExtension
    WebBrowser 高级扩展 js扩展 js订阅C#事件
    DataSet GZip/Deflate Serializer
    Socket/Stream Data Helper
    历年评书出版一览表(1955~1994)
    c#检测字节流编码
    Execute SQL Server Store Procedure C# ADO.Net Wrapper Code Generator
    Directory File Disk Searcher
  • 原文地址:https://www.cnblogs.com/wwjj4811/p/12592443.html
Copyright © 2011-2022 走看看