Simplifying reified generics with partial specialization
ron at paralleluniverse.co
Mon Jan 5 17:37:06 UTC 2015
A specialized class does not extend its "template" (i.e. ArrayList<int>
doesn't extend ArrayList) but still implement its interfaces.
As to your other example, you'd get a
ClassCastException/ArrayStoreException because the storage is still
specialized. This behavior is specifically allowed by the List interface
@puniverseco <https://twitter.com/puniverseco> on Twitter
On Mon, Jan 5, 2015 at 5:41 PM, Simon Ochsenreither <simon at ochsenreither.de>
> > Why, you'd get an NPE, of course! While ArrayList<int> would be a
> List<Integer>, it will *not* be an ArrayList<Integer>.
> That sounds incredibly asymmetric. What's the rule behind "it implements
> X, but not Y"?
> What about the second, more interesting case I mentioned?
More information about the valhalla-dev