00:00
呃,那接着我们来看这个第二个新特性哈,第二个新特性呢,叫文本块啊,英文的话对应的叫test block啊,这呢也是一个preview啊,属于预览模式啊。呃,这个text block呢叫文本块,跟我们JDK12档模有一个新特性叫roll string liter其实是类似的,那叫原始的string的呃,字面量啊,或者叫呃文字的一个表示啊,但这个新特性呢,我们没给大家讲,为什么呢?因为这个新特性在发布会之前呢被放弃了啊,这个呢,关于这个点的说明呢,我们在JT12呢这块,呃,总结这块其实有啊,那我们现在来看一下。说不少呢,开发者对string Li呢情有图中,呃,这个新特性呢,类似于GS当中啊ES6的,这叫模板字符串了,能够让我们告别丑陋的字符串拼接啊,那这个特性呢,在官方当中对应的链接地址我们CTRLC粘过来看一眼。哎,就这个地址啊,诶行,当然这块呢能看到这个GP呢叫326啊,已经被划上一个线了,就是删除掉了,现在于官方呢要把它去掉,这个去掉呢,这个说明也有啊,就是我们下边对应的这个啊CTRLC这个大家也能够看得到啊,回撤L一下,呃说呢准备呢去呃drop from,就是从我们这个GP12类版本当中,把这个GP326呢给他干掉,这个干掉以后呢,呃,业界的呼声比较高啊,所以最近的委员会呢又提到说呃想把这个特性呢,再拿过来重新做一个讨论啊,那么讨论发的这个邮件呢,其实哎这个在我们这个链接地址上啊,相当于restarting啊这样一个discussion啊,再讨论一下,行,那不管这个呃,String liter有没有加上来,那我们现在呢,在13当中引入了一个叫文本块,实际上这个文本块呢,跟我们提到这个RO string liter呢是类似的啊,类似的功能都是解决我们string当中这个Java当中string字符串拼接的问题啊,那我们这块呢,就来看一下这个新特性啊,这个新特。
01:57
定呢,跟咱们Colin当中的这个文本块呢,其实也是类似的,好,那现实当中就是我们在这D13当中,呃呃,13之前我们写Java程序是什么样子呢?诶我们经常呢,会在Java代码当中去表示一段,比如说HR代码,诶R代码,包括这个像circle杰森啊这个做过web开发呢,相当于很多同学呢,应该都做过这样的事情啊,那在进行这个字符串赋值的时候呢,我们需要进行转译和连接操作,呃,然后呢,才能够进行编译个代码,但是我们知道呢,这个粘过来以后的这个circle啊,作为一个字符串出现,或者接son呢,作为一个字符串出现,这个格式上来看呢,是非常难看的啊,我们说叫难以阅读,并且维护起来呢,也是比较花费成本的,哎,那我们有了这个文本块以后呢,呃,就能够解决这个问题,诶使用文本块呢来表示多行的字符串,哎,能够提高我们Java程序的一个可读性和可写性啊,当然这样干说的话呢,大家觉得比较抽象,那我们直接呢来给大家举个例子啊,那下边呢,我们这是一。
02:57
这个HR代码。诶大家一看呢,是比较清晰啊,不陌生,那我们CTRLC一下这个代码的话,如果我们在Java当中,那就是作为一个字符串来体现的,我们看看它会长什么样子啊,诶,那打开我们这个,诶JAVA13S2C,诶在这个下边呢,我们写一个测试,诶这呢我们不妨就叫做诶text。
03:17
Block,关于它的一个测试。啊,这个我们在这标识一下啊,JAVA13。诶新特性诶叫test,诶block啊,诶注意呢,这里也是我们一个叫预览模式,也就还没有正式的加入到我们Java IC这个规范当中啊好。行,那这时候呢,我们把刚才粘过来这个HML代码呢,我们必须得生明在一个string当中啊,比如我接到HML了,等于诶双引号,然后CTRLV一下,好大家看到了,就是在我们粘过来的时候呢,它会自动的诶帮我们进行相关的一些转移,诶HR2下边呢,有一个换行,然后呢,诶就有一个杠N,包括呢拼接,诶其实呢,可读性应该说是要差一些了,哎跟我们这块去看比啊,这要差很多了,那但是只能这样做,否则的话呢,我们这个编译就不通过了啊,那我们可以把这个相应的字符串呢做一个输出。
04:16
诶做一个执行行这个结果的话呢,比较简单哈,呃,只是我们这块跑一下而已,行这个呢,就是我们相当于之前的一种写法,那现在呢,我们有了这个文本块以后哈,那怎么做呢?我们可以这样做,直接呢用诶三个单三个双引号,三个单独的这个双引号作为一个开始,三个单独的双引号呢作为结束,中间呢,存放呢,就是我们的HL这个代码,你看那整个这个内部呢,其实就相当于表示的一个叫文本块啊,就这个意思来举个例子啊,诶我们还在这个里边写,哎,这个我们先来一个换行,在这个下边呢,诶直接呢,声明词string啊,HTL这呢属于一个,我叫一啊,接下来三个双引号。
05:02
诶,然后呢,三个双引号做一个结束,在这个中间我们CTRLV一下。把它粘过来,然后呢,我们输出看一下这个效果。At。哎,这就可以了啊,跑一下。诶,此时呢,你会发现呢,我们使用这个文本块的这个输入效果跟我们使用上边这个拼接啊,包括转移字符的方式呢,呃,输入的结果呢,是完全一样的,但是很显然呢,我们下边这种文本块的方式可读性要更好一些。对吧,哎,这属于这个情况啊,然后呢,我们再来看一下这个除了表示H代码之外呢,我们还可以去表示对应的一个circle的一些操作啊。SQ呢,你看下边我列举了一个具体的一个SQL语句啊,这个大家呢,如果做外部开发,做这个持久化跟持久化层,呃,数据库进行交互的时候呢,诶少不了去写这个SQ语句了,那这个SQL语句呢,我们Java当中那肯定也是一个字符串的方式来表示的,哎,我们把它呢,CTRLC一下啊,也是粘到这,我们来体会啊,再新建一个单元测试。
06:05
哎,生明一个词阵形的circle,诶,CTRLV粘过来,那我们写了一个搜Q语呢,这个select from where order by啊,它自动的帮我们加了一个转移字符,那属于这样一个特点啊,那接下来的话呢,我们用一个新的方式来表示啊,我叫CIRCLEQ1,诶三个双引号开始,三个双引号结束,诶中间呢,诶我们这样CTRLV,诶把它粘过来就可以了,诶可读性呢要更好一些,然后CQ1我们做一个输出。哎,上边这呢,我们也做一个输出。好,我们跑一下这个程序。这个执行结果呢,你会发现这两个其实是完全效果上是一样的,诶这呢就是我们说的这个文本块,那很显然我们能看到它的一个好处就是哎叫简化跨越多行的字符串,避免呢对换行等特殊字符串呢进行转移,能够简化呢Java程序同时的话呢,能够增强我们字符串的一个可读性,这就是我们引入这个文本串的一个主要目的。
我来说两句