I didn't even know you could use type arguments like that when constructing a new object, and when I see it I can't even imagine what it might mean.
However my Eclipse compiler says for "
List<String> strings = new <Double> ArrayList<String> ();"
Unused type arguments for the non generic constructor ArrayList<String>() of type ArrayList<String>; it should not be parameterized with arguments <Double>
Actually... the warning message is talking about a "non generic constructor" which means that there must be "generic constructors" somewhere. Anybody ever seen such a thing?