Return type of Object.getClass()

Rémi Forax forax at univ-mlv.fr
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:
http://stackoverflow.com/questions/4703557/a-strange-error-in-java-generic

Rémi




More information about the core-libs-dev mailing list