Return type of Object.getClass()
Zhong Yu
zhong.j.yu at gmail.com
Thu Jun 30 21:16:41 UTC 2011
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
More information about the core-libs-dev
mailing list