code: public static List<Class> getMethodGenericParameterTypes(Method method, int index) {
      	List<Class> results = new ArrayList<Class>();
      	Type[] genericParameterTypes = method.getGenericParameterTypes();
      	if (index >= genericParameterTypes.length ||index < 0) {
  			throw new IllegalArgumentException("index "+ (index<0 ? " must > 0 " : " over total arguments"));
  		}
      	Type genericParameterType = genericParameterTypes[index];
      	if(genericParameterType instanceof ParameterizedType){
      	     ParameterizedType aType = (ParameterizedType) genericParameterType;
      	     Type[] parameterArgTypes = aType.getActualTypeArguments();
      	     for(Type parameterArgType : parameterArgTypes){
      	         Class parameterArgClass = (Class) parameterArgType;
      	         results.add(parameterArgClass);
      	     }
      	     return results;
      	}
      	return results;
      }
docs: 通过反射,获得方法输入参数第index个输入参数的所有泛型参数的实际类型. 如: public void add(Map<String, Buyer> maps, List<String> names){}
  
  @param method 方法
  @param index 第几个输入参数
  @return 输入参数的泛型参数的实际类型集合, 如果没有实现ParameterizedType接口，即不支持泛型，所以直接返回空集合