Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Generic method in Java, syntax

Tags:

java

generics

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. } }    
like image 348
Naman Avatar asked Mar 04 '26 13:03

Naman


1 Answers

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.

like image 199
Oliver Charlesworth Avatar answered Mar 06 '26 04:03

Oliver Charlesworth



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!