00:00
好,那我们复习一下啊,咱们呢来打开这个1DEARY,哎,高级编程来看这个泛型,OK,那我们就按照一个顺序来说了,这个之前一天呢,咱们主要讲的就是泛型,然后L1流呢,我们开了个头啊,是这样的一个情况,那关于泛型,首先呢,叫泛型的一个基本的概念啊,以及呢,它引入的一个背景,这呢是我们JDK5.0的时候的一个新特性,之前呢是没有泛型的,那么为什么要引入泛型,这个咱们是在饥饿的使用当中呢,做了一个举例,那关于泛型的一个基本概念这块呢,大家熟悉一下就可以了,哎,我们把这个呢CTRLC拿过来。行,就这样说的来把这个呢,我再字稍微再大一点啊行,用这样一个字体,行这样了啊看一下说所谓泛型呢,就是允许我们在定义类,定义接口的时候呢,通过一个标识表示类中某个属性的类型,或者某个方法的返回值,或者是参数类型,那么这个类型呢,将在使用时使用的话呢,就我们可以通过一个呃,继承的关系子类,继承服务类,或者是实现类继承接口,或者是我们在创建对象就实例化的时候,咱们指明你这个实际的参数类型啊这个呢,就称为叫啊这个类型的一个实参了啊这个缺一个小括号用。
01:32
行,这呢就是关于咱们这个叫泛型的一个理解,这个大家呢,没有必要呢去死硬背啊,像我们写这个事儿的时候呢,你能够想到咱们对应的代码当中是什么样子的就OK了,嗯,那引入这个背景,这呢我们就提到了,在集合当中咱们去加入这个泛型。啊,在集合当中去加入泛型这块呢,也收到这样一个背景,就是我们在集合中使用集合的时候呢,这个元素的类型啊,一开始都是object,后续呢会发现这个object呀,范围太宽泛了,不像是我们的集,呃数组,数组的话呢,我们就是死追类型的数组就是用来放学生性命的啊,非常的直接,想放别的这个类型放不进去,那集合呢发现也不行啊,集合呢这块整的太宽泛了啊,什么类型都能往里放,不严格可能会出问题,所以呢,我们才考虑说要不怎么改一下啊啊当然这个类型的话呢,我们又不能写死了啊这个这个集合list为例,哎,我们呢,这会儿想放string,一会呢又想放呃,另外一个又想放的是integer啊,区别呢就是放的类型不一样,其他的方法功能都一样,所以我们就没有必要呢,你去造不同的这个list了啊,这个list专门就是一个Li,另外。
02:52
三个呢,专门是一个integer的就没必要了啊,所以说呢,哎,我们考虑到怎么去设计这个事儿呢,哎哎,用一个泛型一个标识来表明这个标识呢,回头实例化的时候指明是谁,诶我下边呢,就让你去操作唯一的这个T类型。
03:08
这样的一些结构啊,那这呢就能够区分出来,那你放string,那就是string,你放in就类呢,还是一个类,这样比较方便啊,就大家呢,如果说以后你要是涉及到一些代码的设计的话呢,诶可能也会遇到类似的一些瓶颈是吧,你就考虑我怎么去重新的去构建这样的一个结构啊,行这呢是关于它的一个使用上的一个背景啊,这个大家也是了解一下就行。嗯,改一下这个字体啊行这呢就过了,那么接下来我们呢,关于泛型的一个理解和使用呢,大家呢,主体上就依赖于我们的集合,通过集合呢,你把这个泛型呢,能够理解就OK了,那首先呢,咱们举这个例子,就是说在集合中使用发型之前,看这个练习我们收起来在这儿。
04:00
结合中使用发型之前举了这样的一个例子啊,CTRLC,通过这个例子呢,我们想说明的就是说,诶,你这个什么类型都能进来,那后续的话呢,我想用的就是这个数据是类型的啊,我们这里边呢,需要做强砖,那你要是混进来别的类型这块呢,还出现异常了,哎,只是不太好的一个方面啊,哎,通过这个呢,我们有一个图示啊,就是这样的一个简单图示。你看这是这样一个简单图示,就往里放的时候呢,没有做类型的一个校验,所以呢,我们在取的时候呢,你就强转强转强转强转时候呢,就可能会出问题,哎就这样子的,哎就像这个搞这个工程一样啊,这个工程的话呢,后边这个楼,比如说呃说的是能够经得住这个七级地震啊后边呢,结果发现四级地震的时候呢,这个呃楼就出现这个裂缝了啊说明这个豆腐渣工程是吧?啊这个原因呢,呃,究其原因啊,发现呢是一开始这个监督不力,那一开始这个监管的时候呢,就不严格啊,导致呢,后续呢就出问题了,就成这样的情况了啊行,所以呢,怎么去解决这个事儿,让他能够保证这个抗奇迹,这个这个这个地震是吧,你不是说呢,去里边研究一下,说呢这个啊,这些人怎么着啦,用料又怎么着啦,这是治标不治本的是吧,那根上的话呢,还是要把控的严格一些,这个只要你控制好了,后续这问题呢,其实都好解决啊,就是这个看一下这个问题的根源是在哪啊。
05:28
成,这是我们说的这个图示,然后再接下来呢,我们在集合当中使用上反型了,哎,我们举了两个例子,第一个list啊,第二个map,那这两个例子的话呢,大家也写一写,包括呢,咱们这个练习里边提到的成,这是关于这个集合中咱们用上繁星以后这样的一个情况,那么用上以后咱们呢,也对应着一个图示,就是下一个这个。嗯,使用上发型了,那一开始把控的就严格了,后续的话呢,就不会有这个问题。
06:05
啊这样啊这样,最近现在这个大家又开始去吵什么呢,就关于这个微信的一个事儿是吧。微信呢,现在这个已经是绝对的一种垄垄断地位哈,对于大家这种呃,移动互联网这个状态下的社交,那基本上大家都是基于微信的了,这个微信的使用量呢也极高哈,10亿级别以上的使用量,每天的这个交互次数也都非常多了,那现在呢,也有很多其他的这个,尤其像过年的时候,大家能够应应该知道那个事是吧,就连续呃,应该是过年之前吧,连续发了三款这个社交产品类的应用,呃,一个是老罗的那个聊天宝是吧,嗯,还有抖音出来的一个多闪,嗯,还有这个王鑫,王鑫都知道是吧,啊行,嗯,然后王鑫出的那个叫马桶MT是吧?啊对啊,也是这种社交类的啊,然后呢,这三个应用啊,这个同一天都被微信给封了啊啊微信不管封他们,然后呢,还这个,你像你要是抖音上的一些视频也没法分享在微信里啊,你要他不能分享吧,结果他自己出那个微。
07:14
知识又可以分享啊,然后呢,还有像淘宝淘宝系的这个买个东西想给别人分享一下,这个已经很早就被封了啊啊京东呢就不会封,拼多多也不封,因为腾讯也投资了,所以呢已经是太明显了啊啊就是已经是其实是挺恶劣的啊,已经影响到大家的一个使用了啊,你要说呢,担心什么分享有一些什么虚假的呀,或者怎么着的啊,那你其他的平台他自己投资过的那一样会有这样的风险。啊,其实就是一个借口而已啊,说白了就是想利用他的这种垄断地位呢,去这个这个防止被别人这个侵入,相当于是吧?啊其实这块呢,你想解决这个问题,那必须得中央呢去,以前呢,其实就已经出了这个反垄断法了,但是呢,其实实施方面还有很多细节需要去完善,像针对现在这种情况,尤其是互联网的这种情况啊嗯,你像腾讯目前的这种做法,其实非常打击创新的啊,就是他看到谁这个比较好,以前的模仿,现在的话呢,就是也模仿,模仿同志呢还打压你是吧?啊是这种其实非常不好啊,非常的不好,这个呢必须国家来管控才行啊,你像在国外呢,不这样,国外呢一般呢,就是你像这个谷歌,后来看到Facebook起来了,Facebook呢,又看到这个Twitter当时起来了啊,他们呢,其实第一反应呢,人家不是说,诶我造一个跟你一样的啊,他们的第一反应呢,就是说哎,我得去把你买下来是吧?啊对,就是收购啊。
08:42
这是人家的第一反应啊,而且呢,像美国也有很多的创业者,他们呢,一般的想法也是就是诶有一个很好的idea啊,有一个几个团队是吧,诶有一个团队几个人,然后大家呢,就好好整整起来了,一看诶这个用户量比如突然呢就猛增上来,属于一个挺好的一个应用,这时候呢,很多人也是想着说我就把这个应用我就卖了就得了,就是很多创业者呢,也都是这样小的啊,比如说这个像推特,一开始也比较小的时候,包括后来有什么阅后即焚啊,一些这种好创意的一些聊天式的一些社交产品啊,然后呢,就是一些大公司,像Facebook啊,谷歌啊,就看上了以后,跟他们就聊,说我把你收购啊,我给你一笔钱,你财务就自由了,同时呢,你还你还干。
09:23
是吧,这个公司呢,还是由你来管理啊,按照你的这种这个想法呢,去呃跟这个公司呢,继续的让他发展起来是吧,也是你的孩子,但同时呢,这个你财务还自由了,所以很多创业者也愿也愿意这样整啊,就是也不影响他们这种创新,国内不一样,国内的话呢,就是不跟你聊是吧?啊你今天整的挺好,明天的话你发现呢,诶出来跟你一样的甚至很多个是吧,然后背后呢,还会有这个像BAT这样的背景的,呃去支持,那基本上就挂了啊,所以他们呢,很多想法也是说呃逼着没办法,就是去你得去找人家聊啊,你去找BT聊,说你要不考虑考虑把我收了啥的是吧?啊你要不收的话呢,回头他就把你给直接呢,就不考虑你直接就吃掉了啊啊很多这样的情况,所以呢,其实不太利于这种创新啊呃,程序呢,现在又又回到这个路上了。
10:15
啊,之前的话跟360打完以后,当年是吧,很有名的哈,呃,应该是一零年的,一零年的时候啊,跟360那时候必须让用户二选一的时候来出过这个事儿是吧,大概那时候应该是上初中了。差不多就知道那个事吧,啊对,就3Q大战的时候啊,就是说呃,用户呢,这不装QQ,但是呢,这个三六人呢,给他在这个登录之前呢,说检索了一下啊,他有一些广告嘛,QQ,然后三六人就给他屏蔽了,这呢你不就把三六人把这个QQ的这个财路给断了嘛,然后三那个QQ就说说用户呢,必须要是装QQ,你就不能装360,必须让用户电脑当中二选一啊这个当时呢,就是对腾讯一片声讨啊,虽然360很小,但是这个事儿的话呢,确实QQ呢也不占理啊,后来呢,就是QQ腾讯开始反思是吧,马化腾开始反思说我们要开放啊,后来也确实也有有变化啊,就是包括京东啊,很多其他的五八啊,他都开始去入股进去了。
11:16
啊,然后呢,就是相当于是做这个平台了啊,就是大家呢共同赚钱,但是现在的话呢,确实尤其受这个头条戏冲击很很大啊,张一鸣还是很强的啊,啊就是推出了一系列的这个产品啊,在各个领域里边,其实都对腾讯呢,造成了比较大的一个冲击,至少现在还谈不上说这个影响到腾讯多大的这个份额,但是呢,未来的潜力啊方面的这个影响是很大的啊,这个张一鸣其实还是挺狠的哈,就是在这个BAT的这个眼皮底下啊,以为呢不是一个敌人,然后呢,突然有一天你发现这个人已经很强大了哈,然后他的这个生态呢,基本上已经构建成功,很厉害的啊,潜移默化的,然后就硬挖出来一片领地啊,啊很厉害,其他的哪怕像这个滴滴呀,美团呀,滴滴的成为美团的这个王兴也都是BAT体系的啊,张一鸣呢,就是绝对跟他们要对立是吧,自己这自己立一派哈,这个还是不容易的哈,尤其像中国这么恶劣的互联网环境哈。
12:17
在中国,在中国的话呢,这个用户不叫用户啊,中国的用户呢叫流量啊,大家呢,就是个流量啊,啊就是被各个互联网公司去使用这个流量啊,就这个这个再拉回来啊,就是互联网呢,有很多的这个故事哈,那回过来我们再接着看哈,那么我们通过呢,再一开始去限制它的类型,嗯,然后呢,导致呢,后边就不会出现类似这样的问题了啊这是我们说的这样的事儿,嗯,这是啊,这个我写成两个了哈,几个中的使用例子一啊,这是关于一个使用,然后它的使用例子二,那把这个呢,我们拿到下边CTRLX来CTRL为一下行,那么这两个讲完以后呢,咱们还当初做了一个课后的练习题,就是关于我们在这个诶traet当中去使用,Traet本身也是个集合,那它可以用另外的话呢,或者主要我们关注的还不是说在这里边用,因为triet呢,咱们后续。
13:17
开发用的其实不多啊,主要呢,就是大家关注的是我们这个compar,或者是comparable啊,这两个叫比较细了,他在声明的时候呢,也有泛型,所以这块呢大家关注一下,后续呢,我们说关于对象比较大小,涉及到两种排序方式,用到的这两个接口,大家呢也要考虑上泛型的使用啊,这呢我就不往这个这里边去粘了啊,就是关于comparable comparor,它也有泛型,后边你要用的时候呢,也记得加上啊,那么接下来呢,关于泛型在集合中使用的一个简单总结,这呢我们写了这样的几个点,这块呢就不多说了,哎,大家呢也不用去死硬背。理解的基础之上,把这几个事儿呢看一看就可以了啊,这个小括号又少了构造器等属性等。
14:06
哎,这个在这加个括号啊,这呢是关于我们泛型在集合中的使用这一章,咱们叫泛型是一个新特性,那么这个点是大家一定要掌握的,就是你可以后边呢,关于自定义泛型类啊等等这块呢,你说我掌握的稍微差一点,但是呢,在集合中的使用呢,大家要掌握。啊,因为集合咱们开发中用的也比较多啊,那你后续呢,都要用上泛型。
我来说两句