java奇怪的语法,请大神讲解怎么用

List <? super Integer> list;
在查API文档中,忽然发现里面说到这种写法,我当时觉得很奇怪,是在ide里面写了一些,居然编译通过,? extends 我常用,这个写法我是第一次看到,请问各位,这个怎么用的?

[url]http://blog.csdn.net/andycpp/article/details/1748731[/url]

简单的说,就是这个list可以放置任何一种Integer的向上类型(包括Integer本身),
向上类型包含Integer的父类和接口。即,下面的赋值都是合法的:

[code="java"]
list= new ArrayList();
list= new ArrayList();
list= new ArrayList>();
list= new ArrayList();

[/code]

:o 学习了,哈哈