У меня есть следующая иерархия классов:
public abstract class NumberRangeParameter<T extends Comparable<T>>
extends ComplexParameter{
private T lower;
public void setLower(T lower) {
this.lower = lower;
}
}
public class IntegerRangeParameter extends NumberRangeParameter<BigInteger> {}
Теперь, если я запускаю это (irp
является экземпляром IntegerRangeParameter
):
Method[] methods = irp.getClass().getMethods();
for (Method m : methods) {
Class<?>[] parameterTypes = m.getParameterTypes();
}
Если я шагэтот код на отладчике и оцените parameterTypes
Я получаю [interface java.lang.Comparable]
, но я ожидал, что это будет BigInteger ...
Может кто-нибудь объяснить, почему это происходит?