日期:2014-05-20  浏览次数:20763 次

关于一个泛型的小问题。
我们知道,在定义类时可以使用泛型的上限,使其泛型类型不能高于Number类。如代码所示:
Java code

class Info<T extends Number>{  //这边有上限,规定定义泛型的类型只能为Number类或其子类。
    private T var;
    public void setVar(T var){
        this.var=var;
        }
public class P325_2{
    public static void main(String args[]){
        Info<String>i=new Info<String>(); //这里出错,因为定义泛型有上限。只能定义Number类及其子类类型的泛型对象。
        i.setVar("123456");
    }



那么问题是:
如何定义一个类,指定泛型的下限呢?也就是定义的泛型对象类型必须高于规定的类型。

------解决方案--------------------
<T super superType>
------解决方案--------------------
Info<T super Number>
------解决方案--------------------
<? super superType>