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
--------------------------
Andrew Thompson - 11 Oct 2006 13:17 GMT
> 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.