- Wildcards restrict methods that can be called:
ArrayList<? extendsE>.set method has the form
? extends E add(? extends E newElement)
- You cannot call this method!
- No value matches ? extends E because ? is
unknown
- Ok to call get:
? extends E get(int i)
- Can assign return value to an element of type E