Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Animal { }
- class Mammal extends Animal { }
- class Giraffe extends Mammal { }
- ...
- public static List<? extends Mammal> getMammals() { return ...; }
- ...
- public static void main(String[] args) {
- List<Mammal> mammals = getMammals(); // compilation error
- }
- Type mismatch: cannot convert from List<capture#4-of ? extends Mammal> to List<Mammal>
- class Zebra extends Mammal { }
- List<Giraffe> giraffes = new List<Giraffe>();
- List<Mammal> mammals = giraffes; // not allowed
- mammals.add(new Zebra()); // would add a Zebra to a list of Giraffes
- public static void main(String[] args) {
- List<? extends Mammal> mammals = getMammals();
- Mammal mammal = mammals.get(0);
- }
- class Animal {
- public Animal getAnimal() {return this;}
- }
- class Mammal extends Animal {
- public Mammal getAnimal() {return this;}
- }
- class Giraffe extends Mammal {
- public Giraffe getAnimal() {return this;}
- }
Add Comment
Please, Sign In to add comment