Bruno Sant Ana wrote:OK, but I'm not trying to use both at the same time...
Ah, sorry, I misunderstood.
The reason you get an error (and I get a different error to the one you reported) is that
super isn't allowed as a bound on a type variable. You can have lower bounds on wildcard type arguments, but not where you've used them.
The relevant parts of the Java Language Specification are
http://docs.oracle.com/javase/specs/jls/se7/html/jls-4.html#jls-4.4 and
http://docs.oracle.com/javase/specs/jls/se7/html/jls-4.html#jls-4.5.1. Look at the definition for a type variable - it doesn't mention
super. As to why there's a difference? Well, there's a reference to that in the following line:
Unlike ordinary type variables declared in a method signature, no type inference is required when using a wildcard. Consequently, it is permissible to declare lower bounds on a wildcard, using the following syntax, where B is a lower bound: