我们知道,在定义类时可以使用泛型的上限,使其泛型类型不能高于Number类。如代码所示: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");
}
那么问题是:
如何定义一个类,指定泛型的下限呢?也就是定义的泛型对象类型必须高于规定的类型。

解决方案 »

  1.   


    class Info<T super String>{  
    private T var;
    public void setVar(T var){
    this.var=var;
    }
    }

    public class P327_2{
    public static void main(String args[]){
    Info<String>i=new Info<String>(); //这边定义的泛型为 Integer
    i.setVar("lin"); }
    }
    无法编译通过啊求解。。
    提示:
    第一行提示  需要> 我不懂啥意思。
      

  2.   


    class Info<T super String>{  
    private T var;
    public void setVar(T var){
    this.var=var;
    }
    }

    public class P327_2{
    public static void main(String args[]){
    Info<String>i=new Info<String>(); //这边定义的泛型为 Integer
    i.setVar("lin"); }
    }
    无法编译通过啊求解。。
    提示:
    第一行提示  需要> 我不懂啥意思。