Wildcards
?, ? extends, ? super
6 min read
Wildcards
Wildcards make generics more flexible when exact types are unknown.
- ? ā unknown type
- ? extends T ā upper bound
- ? super T ā lower bound
Code Examples
Upper bounded wildcard
java
1
2void printNumbers(List<? extends Number> list) {
3 for (Number n : list) {
4 System.out.println(n);
5 }
6}
7 Use Cases
- Read-only APIs
- Flexible method parameters
Common Mistakes to Avoid
- Adding elements to ? extends
- Confusing extends vs super