00:00
好,下面我们来看一下字符串的一些新添加的方法,那么字符串主要的针对的其实就是一些空白字符的处理,那么这个空白字符跟我们之前的那个空白字符的概念稍微有点不太一样,好,我们来看第一个新加的方法,叫is blank is blank is blank blank是什么意思呢?啊,就是空白的意思,但是这里面的空白跟我们之前的概念呢,稍微不太一样。好下面我们来写一个简单,写个简单的测试,好,我们在这个包下面建一个文件string test,好然后呢,我们在这里写一个测试方法好,写一个测试方法好,然后上面一个字母。
01:00
块string string,好,然后呢,我们在里面加入一些内容,空格杠T,空格空格杠R-N,那么我们说这些个字符它都是什么?哎,它都是空白字符,好然后呢,我们在这里打印输出调用它的新方法叫is什么啊,Blank blank,判断字符串是否为啊空好那么判断字符串中的内容其实能不能叫空呢?这个空概念很凝,不能叫啊,不能叫空,应该叫空白,判断字符串中的字符是否是否什么都是空白,那都是空白,好那么来看一下运行。好,运行这个程序,诶出说明什么,说明它判断这个字符串里面全都是什么空白,全都是空白,好,那么这是这个is blank方法它的一个作用,好那么紧接着我们再来看下面一个方法,叫做去除首尾空格,哎,空格,那么这个地方这个空格写的不太好,应该叫是不是也是叫空白呀,好叫strip strip是什么意思呢?哎,就脱去的意思,脱去脱去啥呀?脱去字符串首尾的空白,哎,空白好,下面我们来继续看一下这个方法叫strip strip好,然后呢,还是还是我们刚才上面那个字符串,我们在这里来试一下,哎,我去调用它的方法strip啊strip好,Strip完成以后呢,它会返回一个新的字符串,这个新的字符串是已经哎去过首尾的空白的了,好,那么我们来看一下它的作用。
02:51
就是什么去除字符串首尾的,哎首尾的首尾的空白来空白好,然后呢,我们来打印输出一下这个四均二,顺便也打印输出一下它的lengths,哎看看它的长度,哎看看长度好,然后呢,我们来运行。
03:15
好,那么运行完以后我们发现,哎,长度为零说明什么?哎,把它的首尾的是不是全都去掉了,哎,首尾全都去掉了,好,那么这是这个in stream strip它的方法,诶那么这个方法跟我们之前的一个方法非常的像,叫什么来着?哎叫trim是吧?好,我们来测试一下这个trim方法,Trim方法它的作用是干什么啊,Trim是修剪,Dream是修剪,那么它的作用是不是也一样啊啊也是对于这个字符串首尾空白的一个,哎,剪切好,然后呢,好,我现在把这个string换一下,哎,我在这重新复一下值啊好,然后呢,把之前的例子分隔一下。
04:09
好,我重新给它赋一下值,然然后呢,我们中间来点内容,比如ABC啊,后面来个空格杠T好,空格杠T好,然后呢,我们还是先strip再stream,看一看这两种有没有区别,好运行。AABC3 ABC3有没有区别?哎,没有任何区别好注意它也是去除字符串首的首尾的什么空白,空白字符,诶那么这两个有没有区别吗?没有区别呢,写这个stream添加这个strip方法干什么?有用吗?哎,肯定是有用的,那么我们说这个stream方法,它其实比这个stream方法更简单一些,诶更简单一些,那么它简单在哪呢?这个tri我们说它去掉的是首尾的空白字符,这个空白字符它其实有一个特别的约束是什么呢?就是这个字符的码值,Unicode码值是小于等于多少?哎,16进制的二零就是32 32是谁呢?就是正好是空格,刚才空格,所以这个这方法它只能。
05:28
去除首尾的什么小马值小于等于32的这种空白字符,那么就像我们在汉字的输入当中有没有空格,哎,当然有了,比如我们在这个地方,我来加一个这个汉字的空格啊,汉字空格好,我们用全角输入,好大家看我在这里输入一个,诶,输入法好。输入一个汉字的空格,好,那么这个汉字的空格输进来以后,我们在这是看不出来的,哎,看不出来的好,然后呢,我们再来运行一下,看一下这个程序的结果,好那么这个程序的结果就不一样了,那么诶,至少看的上面ABC下面有ABC啊,哎,但是要小心上面这个strip变成三,也就是说ABC后面有没有内容啊,没有,而chi呢,它的长度是几啊哎六说明什么?说明它认为后面有几个字符啊。
06:31
好,这是三个字符,也就是说是什么?一个空格,一个table,以及一个汉字的空格,哎,汉字的空格,所以这个stream它能不能去除这个非英文字符的空白啊,哎,不行,所以stream方法非常好,它可以弥补了这个各种语言当中的空白字符不能去掉的这样一个问题,诶这样的话,我们无论你是英文、韩文、日文还有印度文,不管你是什么文,你只要是你这个当前文字的空白字符,它都可以去掉,好所以string方法是一个啊,极力极有力的增强,好,那么它去除字符串首尾的空白,这个空白含义就非常的丰富了,那么这个空白包括什么呢?包括什么呀?哎,包括英文和其他所有哎语言中的。
07:31
空白字符,哎,空白字符,所以这个方法更加的好用,而chim呢,它能去除什么?它只能去除哎,这个码值小于等于32的空白字符,哎,所以它的去除的字符是有限的,哎,有限的哎,所以strip方法非常的啊,非常的好,那么补充了这个stream方法。
08:01
好,那么这个strip方法大家了解它的作用以后,然后呢,对于它的衍两个衍生的方法也就好理解了,Strip trailing trailing是什么意思呢?哎,尾部的也就是可以去除尾部的空白字符strip leading呢?哎,去除手部的空白字符,哎,空白字符好然后呢,我们在这里来再测一下,好然后呢,我们再呃,还是这个例子好,String还是这个string好来strip,哎,Leading leading是什么?去除字符串,哎,手部的空白,注意这个空白包括汉字的空白吗?包括好然后呢,这是一个,呃,这是一个去出的结果,我们来保存一下好,然后打印输出这个四均四以及四均四的长度。
09:01
哎,长度好,我们来看一下,再次来运行好,然后呢,呃,它的结果是ABC6 ABC6好,加一个分割线,为什么是ABC6呢?为什么是ABC6,哎,就是因为前面的所有空白字符是不是已经去掉了,后面是ABC以及三个空白字符,有两个是英文的,还有一个是中文的,哎,要分清楚了啊好,那么这是去除什么手部的空白,去除尾部的空白怎么做呢?哎,去除尾部的空白用什么方法呀?叫strip Le,呃,Tra,哎,Trading好,然后呢,注意注意,这是去除字符串,呃,尾部的空白,尾部的空白好,然后呢,用变量来接收一下,呃,String string5好,然后我们打印输出这个STRING5的内容以及它的长度,Lengths,好,然后呢,我们再来运行。
10:12
好好,那么这次运行的结果是什么呢?哎,长度为十,哎,长度怎么会十呢?好,注意其实从这开始的是不是,哎,为什么会跨行了呢?因为这里面有杠R,杠N,哎,还有杠T等等,所以那么最终截取的结果就是尾部的这三个空白去掉了,然后呢,前面的都留下,前面有三个字母,然后呢,一个空格换行回车,这是三个四个,五个六个,哎,那么A6加三九还缺一个。我看一下这是个空格哦,这有两个空格,一个两个三个,四个,五个,六个七个,哎,正好是七个空白字符,然后呢,加上三个有效字符十个,好,那么这是这个strip方法衍生出来的两个leading和trading leading和training它的含义都是一样的,所以只要理解了什么是空,哪些空白字符啊,那么strip方法就理解了,好,那么这是这个strip方法的一个延伸,好然后呢,下面我们再来看另外一些个增强,另外一些增强就不是那么特别的亮眼,好那么了解一下optional。
11:34
Optional是干什么的?好,然后呢,我们来写一个测试optional optional optional是干什么用的来着?Optional,哎,用来解决这个控制针问题的,哎,所以它其实就是一个什么容器,哎,容器好,那么它是一个容器,那么这个容器里面放什么呢?啊,放的是一个引用来引用,好那么我们来一个optional optional,哎,上面一个optional啊,里面放一个字符串啊,泛型类型表示它里面的引用类型啊optional好,那么注意我们能new吗?能不能new啊,Optional能不能new?注意不能new,为什么不能new呢?啊,因为它的构造器是私有的,哎,私有的那么我们怎么办呢?哎,我们必须调用它的静态方法,哎,类的静态方法来获取对象,所以在Java这个。
12:34
八以及后面的版本,我们发现这种new对象的操作往往是不被允许的,而是间接的通过静态方法来获取好optional点。静态方法有哪些?哎,有好多啊,有好多啊,那么empty是获取一个空的,里面什么也没有,是一个空指针啊,要特别小心。那么还有就是of of是什么?哎,Of就是根据给定的一个值,一个引用,把这个引用包起来,哎,包到这个optional当中去啊,那么我们JAVA11当中新加的是什么呢?就是这个of none above number什么意思呢?可为空的,诶那么也就of当中能空吗?好,如果是二五,我给他传一个空可以吗?哎,慢看着没有问题是吧?好来运行哎,就会出现控制这一常,哎出现控针异常,所以恶方法,哎如果给我们传入一个控针,它会抛异常。
13:35
好of方法好of方法会会抛出啊,Of方法中如果传入的参数好,如果传入的参数是什么?传入的参数是捺会抛出空指针异常,哎,控制针异常,所以这个O方法不太安全,哎,不太安全,那么我们传的时候极有可能是不小心就传荡啊,有的时候我们没有办法去把每个都检查到,所以像这种情况怎么办呢?啊,我们用另外一个代替optional optional点好,注意它的静态方法点。
14:20
Oh noable noable,好,然后呢,我们传一个now好,传一个now好,然后呢,接收一下好,那么接收到以后呢,这是一个optional optional好,然后呢,哎,我们这个控指针就被包含在里面了,好,那么这时候optional安全吗?它也是不是变得很不安全啊,很不安全,所以我们直接从option当中去获取这个引用,那么就会出问题,那么从optional的获取引用的方法我们也讲过了,还记得吧,Get,哎,Get,那么get方法可以获取,但是显然在这里get到的引用是什么啊,是空指针,要特别小心,所以get方法基本上不用啊,如果用它的话,那么和我们的空指针的解决。
15:10
感觉就不大了,是不是意义不大了,好那么我们通常用哪个方法呢?来用哦方法,哎,那么我们发现哦提供了好多哦哦,然后呢,注意这个方法是什么,哎这个哦方法是不是我们这一次这个JAVA11当中新加的呀。哎,是不是呢,看一下这个or方法好点哦,啊并没有特别提到,但是呢,它有一些是什么?哎,JAVA10当中提供的啊,这个二是九当中,哎就提供的好,然后呢,这是二方法,除了A以外还有什么?哎,注意它还有L,诶注意这个方法是什么?是比较早的了,是我们比较熟悉的,那么在JAVA8当中它就已经啊有了,在JAVA8当中我们用过了,那么它的作用就是什么?如果它optional内部包含的这个引用为空,那么它就返回这个参数中的这个引用,如果不为控呢,返回这个optional内部容器中的引用,诶,所以它的作用就是,呃,也是为了尽可能的避免空制帧。
16:31
IB面控制着,比如哎这样的话,我们大家说这个得到的结果是什么呀?好,注意这是一个,这是一个这个object好引用打印输出好,那么我们去打印输出这个内容是none呢还是ABC啊,哎,注意是ABC好,所以它的作用是如果内部引用为空,哎,则返回什么?返回参数中的。
17:03
引用,那么否则呢,哎,否则返回返回它的内部引用啊,内部引用好,那么我们来再测试一下,用另外一个啊,用另外一个值换一下,比如我在这里换成123,哎,换成123好,那么换成123以后呢,我们再来运行,那么这一次是ABC呢还是123啊。哎,这一次就是123啊123好,那么of numberable它可以干什么?可以兼容控指针啊,Of能啊不啊,那么可以兼容空指针,哎,空指针空引用,哎所以它不会抛出异常,但是使用时,但是实际传入钠后,哎要小心,哎要小心啊,那么这是需要注意的,所以我们在这儿可以传非空,也可以传空,如果传了空以后呢?啊,我们在获取的时候要小心,哎最好用all else好,那么我们发现all刚才是不是有好多呀,好,除了有all else以外,还有什么all else get all else through好那么这两个。
18:27
这两个以及后面这哎这三个应该都是哎新加的,我们来看一下啊,这个all else get all else through,注意SINCE10,哎这是JAVA10当中添加的,All else through呢?哎也是类似的,应该也是在十当中加的,所以这个or else get和or else through,哎是这个还不太一样,L else else through是更加新的,哎,更加新的,那么all else through什么意思呢?哎,显然要抛东西了,抛什么呀?抛控制针,哎抛异常什么异常no such element。
19:08
也就是说如果为空,那么我尝试去获取的时候,它会抛异常啊抛异常,那么o else get呢?哎,如果为空怎么办呢?我通过这个supplier供给器是来现在就呃,先调用它的get方法,重新再获取一个新的,哎,所以这个all else get方法也是,哎,也是想和all else方法非常类似的,这个是直接给敌人写死的一个引用,而这个呢,是通过一个供给器get到的,所以它俩是非常类似的,那类似的道理,好,那么all else through是我们要来简单研究一下的,好,那么all else get这个地方我们就不测了,好,那么我们来测一下all else through,哎,Through好,那么all else through拿到的也是一个哎引用,哎引用,好,然后呢,我们来打印输出一下这个引用。
20:09
好,那么能打印到这儿吗?不能,为什么呢?啊,因为其实在这个地方它是不是就会出问题了,哎,它就会出问题,出什么问题呢?抛出了no such except,注意它不是空指针异常,而不是控指针,其实在这里是什么?把空指针异常是不是相当于提前截住了,转换成另外一个异常抛出,不管怎么样,在这里你去尝试拿到一个空的引用的时候,它就会抛出异常,好,那么这是optional的两个改进的方法,诶都是很有用的,诶都是很有用,可以更加灵活强大的去处理。指针的问题,好,那么这是这个optional的一个增强。
我来说两句