/**
* 泛型类
* Created by QYT on 2017/7/7.
*/
public class Pair<T> {
private T first;
private T second;
public static <U> U gg(IntFunction<U[]> constr, U u){
return u;
}
public T getFirst() {
return first;
}
public void setFirst(T first) {
this.first = first;
}
public T getSecond() {
return second;
}
public void setSecond(T second) {
this.second = second;
}
}
class Fu{
/**
* 泛型方法
*/
public <T> T get(T t){
return t;
}
}
class Zi extends Fu{
//带有通配符超类型限定 可以向泛型对象写入;带有子类型限定的通配符可以从泛型对象读取
public void ddf(Pair<? extends Fu> pair){//通配符子类型限定
pair.setFirst(new Fu());//error
Fu f=pair.getFirst();
}
public void dddf(Pair<? super Fu> pair){//通配符超类型限定
pair.setFirst(new Fu());
Fu f=pair.getFirst();//error 可以用Object对象
}
}
泛型类、泛型方法、通配符泛型、通配符的超类型限定
最新推荐文章于 2020-12-26 14:43:14 发布