if (returnClass != null) {
if (returnClass.isArray()) {
type = returnClass.getComponentType();
} else if (Map.class.isAssignableFrom(returnClass)) {
if (returnType instanceof ParameterizedType) {
type = new ParameterizedTypeImpl(Map.Entry.class, ((ParameterizedType) returnType).getActualTypeArguments());
} else {
type = Map.Entry.class;
}
} else if (Collection.class.isAssignableFrom(returnClass)) {
type = findGenericType(returnType, 0); // Collection<T>泛型