是不是定义类的时候,没有 指定泛型下限 一说?比如下面的代码: class Info<T super String>{ //指定泛型下限,不可以是么???
private T var;
public void setVar(T var){
this.var=var;
}
}
在定义类的时候,只有指定泛型上限,即
class Info<T extends Number>{ //指定泛型上限,可以吧。
private T var;
public void setVar(T var){
this.var=var;
}
}
private T var;
public void setVar(T var){
this.var=var;
}
}
在定义类的时候,只有指定泛型上限,即
class Info<T extends Number>{ //指定泛型上限,可以吧。
private T var;
public void setVar(T var){
this.var=var;
}
}
上限:< ? extends 类型>
下限:< ? super 类型>至于何时用到 上限 我就不多说了用到下限: 当时用的泛型只能在本类及其父类上使用,就必须使用泛型下限配置
private T var;
public void setVar(T var){
this.var=var;
}
}这样不可以是么?
不能使用带有super关键字因为编译器不支持。而对于方法类型,参数。可以使用<? extends Number> <? extends Number> 。