zoukankan      html  css  js  c++  java
  • ParameterizedType

       private static class ParameterizedTypeTest<T extends Number> {
            private List<T> list = null;
    
            public static void main(String[] args) throws NoSuchFieldException {
                testTypeVariable();
            }
    
            private Map.Entry<String, Integer> map = null;
    
            private static void getGetActualTypeArguments() throws NoSuchFieldException {
                Field fieldMap = ParameterizedTypeTest.class.getDeclaredField("map");
                ParameterizedType typeMap = (ParameterizedType) fieldMap.getGenericType();
                System.out.println(typeMap.getActualTypeArguments()[0]);
                System.out.println(typeMap.getActualTypeArguments()[1]);
                System.out.println(typeMap.getRawType());
                System.out.println(typeMap.getOwnerType());
            }
    
            private List<String>[] t;
    
            private static void testGenericArrayType() throws NoSuchFieldException {
                Field fieldArray = ParameterizedTypeTest.class.getDeclaredField("t");
                GenericArrayType typeArray = (GenericArrayType) fieldArray.getGenericType();
                System.out.println(typeArray.getClass().getName());
                System.out.println(typeArray.getGenericComponentType());
            }
    
            private List<T> t1;
            private T t2;
    
            private static void testTypeVariable() throws NoSuchFieldException {
                Field field = ParameterizedTypeTest.class.getDeclaredField("t1");
                ParameterizedType type = (ParameterizedType) field.getGenericType();
                System.out.println(type.getActualTypeArguments()[0].getClass().getName());
    
                Field field2 = ParameterizedTypeTest.class.getDeclaredField("t2");
                TypeVariable type2 = (TypeVariable) field2.getGenericType();
                System.out.println(type2.getBounds()[0]);
            }
    
        }
  • 相关阅读:
    CS 165 notes
    使用GDB和Valgrind调试C程序
    vi编辑器的学习使用(十四)
    vi编辑器的学习使用(十三)
    vi编辑器的学习使用(十)
    vi编辑器的学习使用(十九)
    vi编辑器的学习使用(十八)
    vi编辑器的学习使用(十一)
    vi编辑器的学习使用(十七)
    vi编辑器的学习使用(十五)
  • 原文地址:https://www.cnblogs.com/frankyou/p/13320765.html
Copyright © 2011-2022 走看看