上界通配符”部分显示,上界通配符将未知类型限制为特定类型或该类型的子类型,并使用extend关键字表示。以类似的方式,下界通配符(lower bounded wildcard)将未知类型限制为特定类型或该类型的类型(super type__)
    下界通配符使用通配符(’ ? ‘)表示,后跟super关键字,后跟下界(lower bound:<? super A>.。


    注意: 您可以为通配符指定一个上界,也可以指定一个下界,但不能同时指定两者。


    假设您要编写一个将Integer对象放入列表的方法。为了最大程度地提高灵活性,您希望该方法可用于List ,List 和List —可以容纳Integer值的任何内容。
    要编写上的列表工程方法整和的超类型整数,如整型,数量和 对象,你会指定的List <?超级整数>。术语List 的限制比List <?super Integer>,因为前者仅匹配Integer类型的列表,而后者则匹配作为Integer的超类型的任何类型的列表。
    要编写适用于Integer列表和Integer的超类型(例如Integer,Number和Object)的方法,您可以指定 List<? super Integer>.。 术语List 比List <? super Integer>更限制,因为前者仅匹配Integer类型的列表,而后者则匹配作为Integer的超类型的任何类型的列表。
    以下代码将数字1到10添加到列表的末尾:

    1. public static void addNumbers(List<? super Integer> list) {
    2. for (int i = 1; i <= 10; i++) {
    3. list.add(i);
    4. }
    5. }

    通配符使用准则部分提供有关何时使用上界通配符以及何时使用下界通配符指导。