我们知道,在定义类时可以使用泛型的上限,使其泛型类型不能高于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");
}
那么问题是:
如何定义一个类,指定泛型的下限呢?也就是定义的泛型对象类型必须高于规定的类型。
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");
}
那么问题是:
如何定义一个类,指定泛型的下限呢?也就是定义的泛型对象类型必须高于规定的类型。
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"); }
}
无法编译通过啊求解。。
提示:
第一行提示 需要> 我不懂啥意思。
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"); }
}
无法编译通过啊求解。。
提示:
第一行提示 需要> 我不懂啥意思。