00:00
也就是说咱们这个值啊,它一般来讲都是固定的,不让我们扭出来新的值对不对。哎,这种情况啊,这个老师做一个介绍,这个以后咱们会用到的啊,枚举啊,来自于我们这个中国的一个成语啊,叫做不胜。悲剧啊。什么全是知识点,看到没,这是成语啊啊,咱们这个从翻译过来来讲,咱们ation啊,取的就是这个后两个字枚举OK吧,好不胜枚举,什么意思呢。无法什么。一一这个列举出来啊,形容这个为数极多,是这样吗?哎,今天你们这个面试啊,都考什么题了,哎呀,这个不胜枚举啊,说这个题型太多了,太丰富了是吧?好不胜枚举,那如果我把不剩两个字干掉呢。那就是什么呢?数量比较少,咱们可以给它一一的列举出来,是这样吗?这样的这个类型啊,我们一般来讲啊,给它称之为这个枚举类,能理解吧,比如说我们现在把我们的property文件中的所有的这个key啊。
01:13
给他这个便利出来,一共是不是就九个呀,你掰着手指头都能数得过来的,这叫枚举,OK吧?好,那我们接下来来想象一下,这个枚举类使用的这个范围都有什么。在什么情况下使用枚去,也就是说啊,我这个对象啊,或者说是我的这个值啊,都是已经创建好的,我就不允许再创建其他的值呢,是这样吗?大家想一想,比如说咱们来一个。月份。月份。医院叫什么?完了,我忘了叫什么来着。我记得四月叫April,是吧?什么什么ju July是吧,一月叫什么January是吧?哎哎,你看咱们这个月份啊,比如说咱们取这个月份,你你你写一个月份这个类,你想一想啊,是不是咱们这个12个值,12个月给你列举出来了,你总不能自已才能自己亲自拗出来第13个月吧,能理解吧?啊所以说就这种东西啊,一般来讲,我们使用枚举去表示指的是这些值啊,都是已经给你写好固定的,我们直接拿过来使用就可以了,能理解吧,哎,那从咱们这个月份扩这个发散思维呢,同学们。
02:32
还有什么?星期星星星期星期一到星期天呗,对不对,那week这个类对不对,还有什么比,比如说咱们交通灯。只有什么呢,红灯。红红灯绿灯和黄灯是吧,我脑海里边再闪现是有没有蓝灯,我靠没有啊,这个红红绿灯加个黄灯对吧,你比如说啊,咱们以前做的一个啊,这是一个真实的项目啊。
03:05
啊,做的是一个某一个市的那个交通局的那么一个项目啊,啊作为这个交通灯啊,咱们只有三种曲直红灯,绿灯和那个红灯是这样的,哎,你不允许再出来其他的了,OK吧,哎,这种类型啊,咱们一般来讲啊,管它叫做这个啊,这个枚举类啊啊不允许你再扭出来其他的了,直接这些现成的值啊,啊很少,然后你去使用它就可以了啊行,我们现在来个E啊,这个E呢,我给你们来一个很熟悉的操作啊同学们啊。Well一点,Has more elements。1.nextelement,我要取得的是什么呢?是key,哎,这个操作貌似在哪见过呀。什么迭代器是吧,迭代器怎么拼。
04:00
It这个不能忘啊,对不对,迭代器咱们以前用过呢。什么时候用啊。在老师讲完之后,当天做练习的时候用啊,还是什么时候用啊。再也没用过了,反正这个结算我是没用过。对吧?也就是说我现在想遍历一个数组或者便利一个集合,我使用for循环多简单呢?我干嘛要用迭代器啊,对不对,但是迭代器这个东西以后实际项目开发中啊,它可有用啊同学们。他有大用。你看啊,通过咱们这个a writer啊,这个迭代器这个名字来看,迭代器它就是用来专门干这行的,是这样吗?它的这个啊,便利的这个速度啊,是所有for循环,外循环,或者说是加在我们这个迭代器啊,加在一起啊,其实迭代器它的便利的速度是最快的啊,OK吧,如果将来你的这个项目啊,要求的是这个后端代码的这个部分来进行一个相应的这个调优,数据量实在是太大啊,对于后端来讲的话,这个循环的这个结构啊,这个代码啊,你能调优调优一些,咱们还是尽量用这个迭代器比较好,能理解吧。好,那为什么我们这个阶段没有用到迭代器呢?大家想这个问题啊,数据太少了,是这样吗?如果数据量比较少的话,那么我们是不是直接使用什么就行呢?SOE去循环是最方便的,能理解吧,所以说这个阶段啊,老师大量的使用这个for each的形式,OK吧,但是你也知道啊,以后在面试的时候你得会回答OK吧,好,这这几项这个循环啊。
05:37
人家以后问你啊,迭代器用不用啊。嗯,你怎么回答这个问题,哎,这个董浩啊,其实啊,这个我一般情况下是啊面试官是这样的啊,这个我以前使用的啊,都是那个for循环for each OK吧啊面对的这个数据量比较少的时候,一般for用起来比较方便嘛,对不对,大家用的都是for,但是我以前也这个做过啊,遇到过啊这种像我这个便利这个数据量比较大的时候哈,我也用过这个迭代器啊,其实下一次里边你就是告诉这个面试官呢。
06:09
哎,这个东西它快能理解吧,啊说的自然一点是好,我们现在这个key啊拿到了啊同学们这个key是不是就是咱们那个stage啊。啊,通过K来取呗。对不对,好,嗯,咱们取那个value啊来看。一点什么呢?Get我看看啊。啊,这应该用RB去啊,点get有没有get key有没。有get string是吧,就这个吧,Get string啊,来一个这个key啊,来取得咱们的这个value啊。这个咱们取的是这个阶段啊。
07:00
这个是咱们的这个可能性对不对,好,然后我们刚才分析的是把这个阶段和可能性是保存到咱们这个map当中啊。对不对,好。来一个外啊。哈奇map,咱们来一个。4G,哎,这里边我用object行吗,同学们。用object行不行,可以吧,说可以啊,没问题啊,Object啥都能存,包括string啊,对不对,但是大家现在可以思考那个问题啊,呃,也就是说我们之前用过object,是因为里边保存的这个类型不确定,有些时候保存不值,有些时候保存数值,有些时候保存这个对象的集合对不对,不确定的时候你必须得object,你不能固定它的类型,对吧?好,但是如果你现在这个类型它确定了,咱们现在这个类型确定吗?同学们。
08:02
确定啊,不论是你的阶段还是可能性,是不是都是字符串啊,对不对,如果确定的话,你就把确定的这个类型给它写上,它的方便之处在于什么呢?到时候你通过这个key取得的这个value,取得的就是一个string,你不用object强转成string。能理解吗?如果你来一个object,能用是能用,你取的是一个object,你是不还得强转成string,你说还多一步啊对吧,所以说如果一旦确定了啊,咱们还是把这个类型啊给它写上比较好,行,咱们把这个P面啊里边给它存个值啊点put好T和。白柳啊,OK,搞定啊,最后一步呢。将咱们的这个p map保存到什么服务器缓存中,对吧。application.set attribute,咱们来个p map。行。
09:02
老师启一下服务器啊,这个如果没有报错的话,就没有什么问题啊。
我来说两句