I have the following class hierarchy:
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> {}
Now, if I run this (irp
is an instance of IntegerRangeParameter
):
Method[] methods = irp.getClass().getMethods();
for (Method m : methods) {
Class<?>[] parameterTypes = m.getParameterTypes();
}
If I step this code on the debugger and evaluate parameterTypes
I get [interface java.lang.Comparable]
, but I was expecting it to be BigInteger...
Can someone explain why this happens?