zoukankan      html  css  js  c++  java
  • 获取准确泛型的代码

    /** 泛型构造类 */

    public class TypeReference implements ParameterizedType {

    private Type rawType;

    private Type [] actualTypeArguments;

    public TypeRefrence(Type rawType, Type [] actualTypeArguments){

      this.rawType = rawType;

      this.actualTypeArguments = actualTypeArguments;

    }

    public Type[] getActualTypeArguments() {

      return actualTypeArguments;

    }

    public Type getRawType() {

       return rawType;

    }

    public Type getOwnerType() {

       return null;

    }

    }

    if (!type.isPrimitive()) {

      //set generic type if field not primitive type

      java.lang.reflect.Type rawType = (java.lang.reflect.Type) value.getClass();

      java.lang.reflect.Type genericType = field.getGenericType();

      try {

        ParameterizedType parameterizedType = (ParameterizedType) genericType;

        com.xxx.xxx.xxxxx.core.TypeRefrence typeRefrence = new TypeRefrence(rawType, parameterizedType.getActualTypeArguments());

        //构造泛型类型

        switchBean.setGeneric(typeRefrence);

      } catch (ClassCastException e) {

        switchBean.setGeneric(genericType);

      }

    }

  • 相关阅读:
    shell脚本大小写转换
    python写xml及几个问题
    Java集合系列导读
    Java集合系列之Collection接口
    并发编程之锁机制
    Java中的堆内存和栈内存
    Java与ElasticSearch的交互操作
    ElasticSearch基础概念
    Java的对象和类
    Spring Validator参数校验
  • 原文地址:https://www.cnblogs.com/adealjason/p/6802955.html
Copyright © 2011-2022 走看看