Java泛型(Datawhale)

泛型

  • 泛型是JDK 5中引入的一个新特性,泛型提供了编译时类型安全监测机制,该机制允许程序员在编译时监测非法的类型
  • 泛型的本质是为了参数化类型(在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型)。也就是说在泛型使用过程中,操作的数据类型被指定为一个参数,这种参数类型可以用在类、接口和方法中,分别被称为泛型类、泛型接口、泛型方法
  • 定义一个泛型类Pair
public class Pair<T> {
    private T first;
    private T second;

    public Pair() {
    }

    public Pair(T first, T second){
        this.first = first;
        this.second = second;
    }

    public void setFirst(T first) {
        this.first = first;
    }

    public void setSecond(T second) {
        this.second = second;
    }

    public T getFirst() {
        return first;
    }


    public T getSecond() {
        return second;
    }
}
  • 使用泛型类
public static void testPair1() {
    Pair<String> pair = new Pair<>();
    pair.setFirst("Bob");
    pair.setSecond("Ed");

    String first = pair.getFirst();
    String second = pair.getSecond();

    System.out.println("pair1: " + pair);
    System.out.println("first: " + first);
    System.out.println("second: " + second);
}
  • 泛型接口:
    在JDK中大量使用了泛型接口,比如我们经常使用的List、Map等。定义泛型接口与泛型类没有太大区别,只是当其他类、接口在实现、继承泛型接口时,如果没有明确泛型接口类型变量的具体参数,则其也必须一并声明定义类型变量
public interface Generator<T> {
    public T next();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值