I don\'t understand what is the use of unbound wildcards generics. Bound wildcards generics with upper boundary extends Animal> makes perfect sense, be
extends Animal>
When you need to perform an instanceof check.
instanceof
You can't parameterize like this:
Object value; if (value instanceof List) { // ... }
So you do:
Object value; if (value instanceof List>) { // ... }