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);

      }

    }

  • 相关阅读:
    es6常用语法(持续更新中)
    发送请求时params和data的区别
    js引擎查询 LHS RHS(消化ing)
    Linux常用命令(持续更新)
    Https理解
    MVVM理解
    原生js与jquery区别
    Cookie如何防范XXS攻击
    基于python的appium环境搭建
    pycharm安装步骤
  • 原文地址:https://www.cnblogs.com/adealjason/p/6802955.html
Copyright © 2011-2022 走看看