技术系列3——泛型的来源与优势

引言:

              这里先纠正一下上一篇博客的问题之处,上一篇那个图片上泛型与集合以及数组的对比是有问题的,问题在于图上的泛型是泛型集合,下面我总结了泛型和来源和优势和大家共享。

来源:

             说泛型的来源,先得提高数据的概念,泛型就是处理数据的高效的一种工具。我们首先接触的是单行数据,处理一条数据很简单,随着数据量的增大,为了方便处理,我们引入了数组的概念,数组也就是单个数据的集合。但是数组虽然解决了数据量多的问题,但是却带来了另外一个问题,那么就是数组是有类型的,不同类型的数据我们需要定义不同的数组,那么这样处理不同类型的数据的效果就会降低。于是又出现了一种类型,这种类型叫做集合,集合也是数据的集合,同时它是自动增长的,它可以放任何类型的数据,虽然集合很好的弥补了数组空间和类型固定的问题,但也带了又一大问题,那就是从集合中取出来的数据是需要转换成我们需要的类型数据,这样的转换就存在着安全问题。这里要提到装箱拆箱的概念,装箱:集合接收的不同类型数据的类型都会向上转换为object类型,然而我们用集合中的数据,还需要把对应的object类型转换为相应的数据类型。于是为了解决这个问题,泛型就正式登场了,泛型使用一个占位符T来代替各种类型的数据对象。

优势:

           泛型的优势主要是对比的过程中体现的。

       优势一:首先它和传统类型的数据进行比较,处理传统的数据,不同类型的数据我们会写俩套不同的方法来处理,比如说int 和string的冒泡排序,如果我们只写一个int类型的冒泡排序,我们是不能对string进行排序的,与此相比,泛型就很好的解决了这个问题,泛型只写一个T类型的冒泡排序,什么类型的数据传过来替换这个占位符就可以了,或者你不替换那么就出现了泛型集合;

       优势二:泛型和数组进行比较,数组空间固定,但是泛型集合的空间并不固定,泛型集合里面可以放各种类型,例如不同的实体类,如果你要添加一个实体类,只需要add就可以了,这样就比数组的固定空间更加灵活。

       优势三:泛型和集合进行比较,泛型取出数据不需要进行类型转换,即不需要从object到相应类型的转换;同时上边提到了安全问题,泛型也很好的解决了这个问题,我们用集合,一些类型转换存在问题,在运行的过程中才会发现,这样不仅仅存在安全问题,同时也降低了我们开发的效率,但是如果使用泛型的话,如果你存在类型不匹配的问题,在编译的时候就会报错,这样你就能及时发现问题,解决问题,提高我们的开发效率,请看下面截图:

             

            

总结:

            我一开始一直认为泛型很简单,师哥一个泛型和泛型集合的对比就把我问住了,我现在明白了技术之所以别研究,是因为它有它研究的价值,泛型的研究还将继续,请大家关注我的博客。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 24
    评论
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值