Hi Tom,
I am happy to see you are already aware this.
But i want to make sure things are clear.
Given>
public static void main(String[] args) {
List<? super Number> list = new ArrayList<Number>(); //ok
list.add((Number)new Integer(10)); // ok
list.add(new Integer(20)); // ok
list.add(new Object()); // Does not compile
list = new ArrayList<Integer>(); // Does not compile
}
1>
List<? super Number> list = new ArrayList<Number>(); //ok Means you can add any Object to list which passes "IS-A Number"
test.
2
> List<? super Number> list = new ArrayList<Integer>(); fails because
Integer is not super class of Number.
If you know this already. I am happy.

[ March 05, 2007: Message edited by: Srinivasan thoyyeti ]