Java Generics question

N

nicklas.lundgren

Hi

I'm studying for the SCJP 5.0 and have a question about Generic
Collections.

The question is, If I use wildcards in a collection then I can't use
the add() method for the collection (ArrayList in this example). I can
use a wildcarded ArrayList to asign other ArrayLists to this but what
is the big purpose of this?

Can anybody explain that to me, help would be very apreciated.

-------------------------- Code Example --------------------------
import java.util.*;
public class AnimalGenericTester {

public AnimalGenericTester() {
ArrayList<Animal> myList = new ArrayList<Animal>();
myList.add(new Dog());
myList.add(new Cat());
printAnimal(myList);
}

void printAnimal(ArrayList<? super Cat> list) {
//What is the purpose of this???
//The myList now contains a Dog and a Cat but Dog is NOT a super of
cat
//I really can't see the point of this generic functionality
}

public static void main(String[] args) {
new AnimalGenericTester();
}

}

abstract class Animal {
abstract void checkup();

}

class Dog extends Animal {
void checkup() {
System.out.println("Dog");
}

}

class Cat extends Animal {
void checkup() {
System.out.println("Cat");
}

}

-------------------------- END OF Code Example
--------------------------
 
A

Andrew Thompson

Hi

I'm studying ..

...far and wide, I notice, from your expansive multi-post.

Please refrain from multi-posting in future.

(X-post c.l.j.p./h., w/ f-u to c.l.j.h. only.)

Andrew T.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Members online

Forum statistics

Threads
473,781
Messages
2,569,615
Members
45,297
Latest member
EngineerD

Latest Threads

Top