我想声明一个由getParameterTypes()返回的类型的变量,但是出现错误。对于getTypeParameters(),我也遇到同样的错误“无法解析为类型”。
如何才能做到这一点?
Class<?> lcSeqHolder = null;
TypeVariable<Method> lcTypeHolder = null;
// Use reflection to find the take method
Method[] lcMethods = mcSpecificReader.getDeclaredMethods();
for (Method lcMethod : lcMethods)
{
System.out.println(lcMethod.getName());
if (lcMethod.getName().equals(TAKE_METHOD_NAME))
{
lcSeqHolder = lcMethod.getParameterTypes()[SEQUENCE_HOLDER_ARG_INDEX];
lcTypeHolder = lcMethod.getTypeParameters()[SEQUENCE_HOLDER_ARG_INDEX];
lcSeqHolder var1; // <-- lcSeqHolder cannot be resolved to a type
lcTypeHolder var2; // <-- lcTypeHolder cannot be resolved to a type
}
}
最佳答案
您是否需要lcSeqHolder类型的对象?试试这个:
Object var1 = lcSeqHolder.newInstance();
仅在由lcSeqHolder定义的类具有默认构造函数的情况下,它将起作用。