泛型类、泛型方法、通配符泛型、通配符的超类型限定

本文深入探讨了Java泛型的基本概念及使用方式,包括泛型类和泛型方法的定义,以及如何利用带有类型限定的通配符进行泛型对象的操作。通过具体的代码示例展示了泛型在实际编程中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/**
 * 泛型类
 * 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对象
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值