Return type of Object.getClass()

Rémi Forax forax at
Fri Jul 1 07:16:07 UTC 2011

  Le 30/06/2011 23:16, Zhong Yu a écrit :
> Why does it return Class<? extends |X|>  instead of Class<? extends X>? Quote:
> The actual result type is Class<? extends |X|>  where |X| is the
> erasure of the static type of the expression on which getClass is
> called.
> This means the following code does not compile
>      T obj = ...;
>      Class<T>  clazz = obj.getClass();
> What's the reason for erasure here? Thanks.
> Zhong Yu

StackOverflow is better for this kind of question:


More information about the core-libs-dev mailing list