请原谅我提出这样一个问题,但是在过去的几年里我一直在做C#直到最近,所以我对Java中的类型擦除泛型相比,与C#中的泛型的直观版本相比有点生疏。
我有这样的情况:
public void doSomething(Class<T> classType) {
for (Method method : classType.getMethods()) {
for (Class<?> parameterClass : method.getParameterTypes()) {
// How do I compare parameterClass to classType or to String.class?
}
}
}
由于parameterClass是Class类型,那么它是一个未知的类类型,因此无法在运行时确定?他们是否有办法进行这种比较?我再次说,我多年来没有使用过Java泛型,而且我一直在阅读它并且仍然感到困惑。