本文整理了Java中java.lang.reflect.Method.getGenericParameterTypes()
方法的一些代码示例,展示了Method.getGenericParameterTypes()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Method.getGenericParameterTypes()
方法的具体详情如下:
包路径:java.lang.reflect.Method
类名称:Method
方法名:getGenericParameterTypes
[英]Returns an array of Type objects that represent the formal parameter types, in declaration order, of the method represented by this Method object. Returns an array of length 0 if the underlying method takes no parameters.
If a formal parameter type is a parameterized type, the Type object returned for it must accurately reflect the actual type parameters used in the source code.
If a formal parameter type is a type variable or a parameterized type, it is created. Otherwise, it is resolved.
[中]返回类型对象数组,这些对象按声明顺序表示此方法对象表示的方法的形式参数类型。如果基础方法不接受任何参数,则返回长度为0的数组。
如果形式参数类型是参数化类型,则为其返回的类型对象必须准确反映源代码中使用的实际类型参数。
如果形式参数类型是类型变量或参数化类型,则会创建它。否则,问题就解决了。
代码示例来源:origin: google/guava
@Override
Type[] getGenericParameterTypes() {
return method.getGenericParameterTypes();
}
代码示例来源:origin: jenkinsci/jenkins
public Type[] genericTypes() {
if (genericTypes==null)
genericTypes = method.getGenericParameterTypes();
return genericTypes;
}
代码示例来源:origin: prestodb/presto
@Override
Type[] getGenericParameterTypes() {
return method.getGenericParameterTypes();
}
代码示例来源:origin: stackoverflow.com
Method method = ...
assertTrue(method.getParameterTypes() != method.getGenericParameterTypes());
Field field = ...
assertTrue(field.getFieldType() == String.class);
assertTrue(field.getGenericFieldType() == Integer.class);
代码示例来源:origin: square/retrofit
Builder(Retrofit retrofit, Method method) {
this.retrofit = retrofit;
this.method = method;
this.methodAnnotations = method.getAnnotations();
this.parameterTypes = method.getGenericParameterTypes();
this.parameterAnnotationsArray = method.getParameterAnnotations();
}
代码示例来源:origin: prestodb/presto
@Deprecated // since 2.7
public Type[] getGenericParameterTypes() {
return _method.getGenericParameterTypes();
}
代码示例来源:origin: apache/flink
public LambdaExecutable(Method method) {
this.parameterTypes = method.getGenericParameterTypes();
this.returnType = method.getGenericReturnType();
this.name = method.getName();
this.executable = method;
}
代码示例来源:origin: ctripcorp/apollo
public SpringValue(String key, String placeholder, Object bean, String beanName, Method method, boolean isJson) {
this.beanRef = new WeakReference<>(bean);
this.beanName = beanName;
this.methodParameter = new MethodParameter(method, 0);
this.key = key;
this.placeholder = placeholder;
Class<?>[] paramTps = method.getParameterTypes();
this.targetType = paramTps[0];
this.isJson = isJson;
if(isJson){
this.genericType = method.getGenericParameterTypes()[0];
}
}
代码示例来源:origin: prestodb/presto
@Override
public JavaType getParameterType(int index) {
Type[] types = _method.getGenericParameterTypes();
if (index >= types.length) {
return null;
}
return _typeContext.resolveType(types[index]);
}
代码示例来源:origin: redisson/redisson
@Override
public JavaType getParameterType(int index) {
Type[] types = _method.getGenericParameterTypes();
if (index >= types.length) {
return null;
}
return _typeContext.resolveType(types[index]);
}
代码示例来源:origin: junit-team/junit4
void validate(List<Throwable> errors) {
for (Type each : method.getGenericParameterTypes()) {
validateNoTypeParameterOnType(each, errors);
}
}
代码示例来源:origin: google/guava
static TypeVariable<?> getTypeVariable(String methodName) throws Exception {
ParameterizedType parameterType =
(ParameterizedType)
WithTypeVariable.class.getDeclaredMethod(methodName, List.class)
.getGenericParameterTypes()[0];
return (TypeVariable<?>) parameterType.getActualTypeArguments()[0];
}
}
代码示例来源:origin: google/guava
static WildcardType getWildcardType(String methodName) throws Exception {
ParameterizedType parameterType =
(ParameterizedType)
WithWildcardType.class.getDeclaredMethod(methodName, List.class)
.getGenericParameterTypes()[0];
return (WildcardType) parameterType.getActualTypeArguments()[0];
}
}
代码示例来源:origin: google/guava
private Type getOnlyParameterType() {
assertThat(method.getGenericParameterTypes()).hasLength(1);
return method.getGenericParameterTypes()[0];
}
代码示例来源:origin: google/guava
static void verifyConsitentRawType() {
for (Method method : RawTypeConsistencyTester.class.getDeclaredMethods()) {
assertEquals(
method.getReturnType(), TypeToken.of(method.getGenericReturnType()).getRawType());
for (int i = 0; i < method.getParameterTypes().length; i++) {
assertEquals(
method.getParameterTypes()[i],
TypeToken.of(method.getGenericParameterTypes()[i]).getRawType());
}
}
}
}
代码示例来源:origin: google/guava
Type getTargetType(String methodName) throws Exception {
ParameterizedType parameterType =
(ParameterizedType)
WithGenericBound.class.getDeclaredMethod(methodName, List.class)
.getGenericParameterTypes()[0];
parameterType =
(ParameterizedType) TypeToken.of(this.getClass()).resolveType(parameterType).getType();
return parameterType.getActualTypeArguments()[0];
}
}
代码示例来源:origin: square/dagger
@Override public void attach(Linker linker) {
Type[] types = method.getGenericParameterTypes();
Annotation[][] annotations = method.getParameterAnnotations();
parameters = new Binding[types.length];
for (int i = 0; i < parameters.length; i++) {
String key = Keys.get(types[i], annotations[i], method + " parameter " + i);
parameters[i] = linker.requestBinding(key, method, instance.getClass().getClassLoader());
}
}
代码示例来源:origin: redisson/redisson
@Override
@CachedReturnPlugin.Enhance("resolved")
protected Generic resolve() {
java.lang.reflect.Type[] type = method.getGenericParameterTypes();
return erasure.length == type.length
? Sort.describe(type[index], getAnnotationReader())
: OfNonGenericType.ForLoadedType.of(erasure[index]);
}
代码示例来源:origin: spring-projects/spring-framework
@Test
public void forMethodParameterByIndex() throws Exception {
Method method = Methods.class.getMethod("charSequenceParameter", List.class);
ResolvableType type = ResolvableType.forMethodParameter(method, 0);
assertThat(type.getType(), equalTo(method.getGenericParameterTypes()[0]));
}
代码示例来源:origin: spring-projects/spring-framework
@Test
public void forMethodParameter() throws Exception {
Method method = Methods.class.getMethod("charSequenceParameter", List.class);
MethodParameter methodParameter = MethodParameter.forExecutable(method, 0);
ResolvableType type = ResolvableType.forMethodParameter(methodParameter);
assertThat(type.getType(), equalTo(method.getGenericParameterTypes()[0]));
}
内容来源于网络,如有侵权,请联系作者删除!