On 10/05/2013 04:30 AM, cowwoc wrote:
Hi,
Out of curiosity, is JDK 8's type reification improved enough so
that we can replace
<E extends Enum<E>> EnumSet<E> EnumSet.noneOf(Class<E>)
with
<E extends Enum<E>> EnumSet<E> EnumSet.noneOf()
and the JDK will figure out the value of E based on the expected
return type? If so, can we make this API change?
Thanks,
Gili
No, generics are not reified in Java 8 ... but lambda are reified, at
least a kind of.
You can not access to the type argument but the reified signature of the
lambda need to be known at runtime, this is a side effect of the fact
that lambda proxies are generated at runtime.
Rémi