What is happening in line 6? <C extends Cat> is the return type of useMe, right? What does <? super Dog> do?
2. class Animal { }
3. class Dog extends Animal { }
4. class Cat extends Animal { }
5. public class Mixer<A extends Animal> {
6. public <C extends Cat> Mixer<? super Dog> useMe(A a, C c) {
7. //Some code
8. } }
The <C extends Cat> specifies that useMe has one generic parameter, C, which must extend Cat.
Its return type is Mixer<? super Dog>. The ? denotes a wildcard.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With