java基础之泛型(Generics)

泛型,广泛存在于各种开源框架及容器集合类中,在我们阅读源码的过程中一定会碰到,作为java基础知识的一个重要模块,对泛型的理解和掌握有助于我们在之后的源码阅读中借鉴框架思想以及在项目开发中灵活应用泛型。

先看几个有关泛型的问题:

带着这些问题我们一起去探究一下java泛型

1. 什么是泛型

泛型的英文是Generics,翻译成泛型挺形象的,泛,不确定不固定的意思。类比于我们方法中会定义一个A类型的参数,现在是把A类型再进行提炼为一个通用的参数,在具体使用时才确定类型参数的具体类型,所以又叫参数化类型。

2. 为什么需要泛型

我们来看一个简单的例子

观察上面的两个类,我们会发现除了类型不一样,其他都是一样的,借鉴方法中参数的思想,我们是否可以把类型也抽象成一个参数T,于是就有了下面的写法,在定义类的时候用T去作为类型参数,在实例化对象的时候再确定具体类型。

我们来验证一下这一个类是否可以实现和两个类的功能

    public static void main(String[] args) {
        Generics1 generics1 = new Generics1(2);
        Generics2 generics2 = new Generics2("rabbit");

        Generics<Integer> generics3 = new Generics<>(2);
        Generics<String> generics4 = new Generics<>("rabbit");

        System.out.println("generics1:" + generics1.getType());
       
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值