大家好,我们这节课来讲一下我们家瓦里面的一个自付创的一个替换。呃,那么在之前的话我们是讲一下我们家瓦里面的一个自付创的一个分割。好, 那这节课来讲一下我们自助串的一个替换。替换的话呢,其实也比较简单啊,他也是使用我们死菌类中的方法 好,然后这个教案以及我们的视频教程,大家可以看一下,我们百度可以搜一下我们体育课的学习网, 搜完之后呢,我们找到这个网站,找到之后我们打开,打开之后在开发在我们学习资料里面的视频教程,视频教程里面呢,有一个加瓦的一个入门教程,可以点进去。 然后这里面的话就是课件的话就是跟我现在讲课的是一样的。然后视频的话就是呃,已经拍好虚了。 ok, 那首先 有三种啊,三种替换我们自助串的一个方法。那么我们首先看一下是我们啊日普雷斯啊,日普雷斯,还有我们的一个日普雷斯发斯的,还有我们的一个日普雷斯啊。 那其实看我们的这个英文啊,已经知道了,就是这个是替换的。然后呢,这个是替换第一个的啊, first 的就是第一吗?然后我们的一个二就是全部的意思。所以说我们这三个替换自负串的一个方法,他都有自己的一个 呃,一个功能啊。那么首先看这一个啊,瑞普累死啊,瑞普累死的话呢,他是将我们自负串中指定的自负串替换成新的自负串啊, 什么意思?首先你要有一个自负算,那么你的自负算你可以点啊点不累死。然后呢,在里面的话可以有 两个参数,第一个参数是我们的一个死菌类型的,第二个参数也是死菌类型的。那么第一个参数的话是 o 的差。也就说旧的你要把哪你要替换的放这里啊,你要替换的放这里。然后呢,你要把它替换成什么?然后你就放第二个参数 好。我们二的叉呢,就是为需要被替换的啊,被替换的一个自负串,这是要被替换的一个自负串。然后六叉呢,就是我们替换后的自负串。 好, ok。 那假设你有一个自助串,比如说啊,你有个自助串,比如嗯 啊,鹏哥啊,有个鹏哥。然后你要替换里面的一啊这个字母。那么你就直接在前面的话呢,就是写我们的一个一。然后后面的话就是你要把这个一替换成 什么,比如你要替换成 k, 那你就写个 k 就可以了。所以这里就是对应啊,这里是一对应的。首先这个字母串肯定就是这个嘛,这就是字母串嘛。然后呢,就点我们的一个 rades。 然后呢,里面的话是两个参数,第一个参数就是你要把哪个呃哪个字母传给他替换,那你就把他写在最前面是吧,然后这是第一个参数给我,要把这个字母一给他替换掉。然后后面的话呢,就是写我们这个要替换成什么啊,就这样来的。好, ok。 那么使用我们呃不类似呢,他的方法呢是可以将所有啊符合我们这个 o 的差这个规则啊,然后替换成我们的一个新的字母上。也就是说呃如果像刚刚我写了个 一码,那么他就会把支付创里面所有包含一的都给他替换成我们的一个新的支付创。 好,我们直接看两个例子就可以了啊。这个比较简单,他说有一个字物串 str, str 呢,他的内容是 my name is 文科。然后请将我们 str 字物串中的 m 替换成 h, 那 m 替换成 h, 我们其实用肉眼也知道啊。如果把 m 替换成 h, 那么它的结果是什么呢? 我们可以自己来看一下啊。把 m 替换成 h, 那这里的话就是个 h 了。然后还有 m 吗?啊,这里还有个 m, 他也变成 h。 那么最后的结果应该是这样子的啊。我们用程序来试一下, 新建一个格拉斯啊, ok, 把前面的给他关掉,好,把我的妹方法给写上来 好。呃,有个字母串是这个啊,我们把它复制过来,它是个字母串,那我们就是死菌好, ok。 然后一个封号这里这个要用英文的啊,用英文的一个符号 ok。 然后如果我们要把它替换一下,那我们其实可以直接输出啊,或者说我们 st 啊。点哎,点我们的 aplate 啊,就这个。 但是呢,我们有两个参数啊,第一个参数就是我们奥德叉,还有一个六叉啊。然后我们先把它给分号给他加上去。然后奥德叉。就是你要把里面的什么替换掉,那你要把里面的 lt 挂掉,那你这里的话就是写个 n, 写个 n ok, 是要把 m 替换成 h 对吧?好,然后你要把 m t 换成什么替换什么替换成 h, 那你就这里写个 h 好,他就替换。替换完了。替换完成之后,他会返回一个死菌类型的一个新的字母上,所以你需要进行一个接收啊,死菌,我们的 str new 等于他啊。新的一个字母上。好,那这个时候我们直接直接输出一下就可以了。 保存 ok, 运行一下。好,我们可以看到他的一个结果是这样子的啊,我们跟我们刚刚猜测的对比一下,是不是差不多一样的啊,一样的啊,没有,没什么问题啊。好,这样的话我们就 图给大家把代码给给你们。那如果说你说我想把 lt 换成其他的,那也可以啊是吧。这个的话就你自己很方便的,自己去啊试一试,改一改代码就可以了。给他 ok, 颜色放小一点 ok。 好。那假如说你说要把按替换成什么?呃哈哈哈哈哈。也可以啊是吧。保存一下,我们直接运行。 那直接把 m 替换成咔咔的对吧?那这种情况的话,他会把所有是 m 啊,所有是 m 的,他都会把你替换掉。那有的时候呢,我们可能只需要把前面的一个 m 替换掉,那这种情况是实现不了的。所以我们就要看后面的 那个例子的啊。看后面的这个方法。看这个方法。好,这里的话还有一个,你看这里还有一个例子,把这个例子给他弄一下啊,把他考虑一下,这里再新建一个。 好,没办法加上去。 ok, 也是同样的。行。 先定一个我们的一个字母串好,然后呢,我们把这里给他改一下,这里要是英文的啊, 英文的一个标点符号。 ok, 那这个时候的话他是要求什么?要求我们把这里面的那个 a 的换成我们的一个和啊,换成中文的一个和。那我们也是同样的,其实很简单, s t r 点我们的瑞瑞普类似啊, replace replace。 然后呢,你要把什么换了?只要把什么换了,你就写这里就好了。我们要把 a 的换了,那我就写个 a, 然后你要把它换成什么呢?我要换成盒, ok, 那这样子也是可以的。然后它会产生一个新的字符上,我们可以 s jin 啊,搞一个新的字符上出来给它接收一下。 ok, 那这个时候里面就是已经替换好的,那么可以输出一下 对跳, ok, 保存飞行好可以看到啊,他把我们这个 a 呢已经换成了我们中文的一个和看到没 这种情况还是比较好玩的是吧。再买给一下你们。 打假的话主要是要自己啊,要能够理解这个是干嘛用的,这个方法是干嘛用的,然后后面的话如果你需要用到的时候你就知道哦,我原来之前听了一节课,他他里面就可以把这个呃 呃功能给实现。那你就翻到这节课就知道了啊,原来用我们这个 roads 就可以实现好 ok。 那像这种情况,我们是不是只要我们自助串里面包含了我们需要被替换的自助串,他是不是就全部都会把你替换掉啊?像这里我明明的话就是有两个 a 的啊,有两个 a 的, 他只要是 a 呢,他就直接把你替换成荷兰,看到没,直接替换掉了。那如果说我只想要把第一个 a 呢替换掉,后面的 a 呢?不替换掉呢?那么我们就要看这个了啊,如果 累死 fus 的啊, fus 的我们一般都知道,我们打游戏也知道啊。如果你拿了医学的话,也是也是这样叫的啊。哈哈,好。 那么这个方法的话,他是将我们自负串中匹成功匹配正则表达式的第一个自负串替换成新的自负串。然后这里有个新的名词啊,就是呃,正则表达是正则表达是的话,我们后面会开课讲,我们先不管他啊,先不管他。我们先学习下这个方法他是怎么用的。 好。那么这个方法的话呢?首先他有,他也有两个三数啊,第一个是我们那个正在表达是这个我们先不管啊。然后后面的话就是要被替换成新的一个字步串好。 ok, 那我们要知道的话,这个方法你要知道他只会替换一个,也是说第一次匹配成功的第一个。 就像这里,如果你使用这个呃 rplace first, 你是用它的话,它只会把第一个 a 的替换成和后面的 a 呢,他们就不会管了啊。也就说他只会管第一个匹配成功的,他就把你替换掉。好, 那我们这里有个例子啊,这个例子的话,我直接把它烤过去,烤过去运行给你们看一下 啊。或者我们直接把这题改一下吧。你看啊,现在我们这里是不是把所有的 a 呢?都换成了和是吧,那如果我又 belith first 写错了啊,这里我直接超过去拿他打好。如果用这个 flax first 的,那么我们可以看一下他的一个效果。哎,我们可以发现 他是不是只会把第一个 a 的替换成了一个核是吧,他只会替换第一个,然后后面的这个 a 呢,他就不管了啊,他就不管了。这也是一种好的一个功能啊,他就只会把第一次匹配到的给他替换掉,后面的话他就不管了。 好,我们这个的话也给你们截张图啊。这是上节课的好。然后这个例子的话把它烤过来眼影试一遍给大家看一下。 我们的一个内走一走。我们的一个内方法加快速 ok 好。 呃。然后这里的话我们是内幕死是吧?你看我找错的话是比较快的啊,只要看到有错误基本上一眼就能看出来。然后如果你们啊就是这 就是学的比较久了,然后多练练一练之后你其实也可以实现的啊。好。那么像这里就是我们刚刚那个题啊是吧?我我刚刚已经把它做掉了啊。在这里。然后代码的话呢,给大家粘一下啊, 在一起啊看一下没问题啊没问题。那么给大家粘一下。其实也不用粘了,这里已经写好了,不粘了。这个题就这样啊。 那你要知道的话就是这个瑞克累死发死的,他只会匹配到第一个符合规则的,然后把你替换掉。好。 还有一个就是我们不累死啊啊累死啊。听这个名字也知道他就是把所有的符合这个规则的全部都替换掉。那么他的一个效果呢?其实很简单了啊,我们来一起看一下走起来。 也就说他会把所有成功匹配的都会把你替换掉。那这个时候我们来看一下效果。 这个颜色错了是吧? ok 好,我们来运行一下看一下效果。 你看啊那位子鹏哥,然后这个 a 呢换成了和,然后后面这个 a 呢也换成了和。他的话就是只要符合这个规则的他都会把你替换掉。然后的话, 呃,这个呢?这个这个现在看起来啊,瑞普累斯奥和我们那个叫啥来着,和我们瑞普累斯。他这个效果是不是现在是不是有点相同啊?有点相同,但是实际上他是不相同的啊,他是不相同的。那为什么?因为他可以使用正在表达式啊。 正在表达是的话我们后面会讲啊。那现在的话我们把它这个运行结果给你们看一下,截张图给你们。好,现在我们主要的 现在我们主要要学习的地方就是我们有三个可以替换自助创的一个方法。第一个就是我们有个类似啊,他会把所有啊 所有的指定的我们的一个自助串替换成我们新的自助串好。然后我们如果 lets first 呢,他是可以使用我们的一个。呃, 正在表达是,但这个先不管他的话,其实就是把第一个匹配成功的替换掉,后面的他就不管了啊。然后还有我们 uper replace 啊,他就是所有只要你匹配成功的我都把你替换掉, ok 就没了啊。这节课我们比较简单,然后大家的话就自己多去试一试就可以了。
粉丝8012获赞6.1万

现在我有一个需求是要求提防数据库中带有文件地址的 ip, 然后变更成另外一个 ip, 也就是说我们的文件服务器可能 有牵引,然后需要更换我们的地址。但是说有些小伙伴可能就会有疑问,为什么我们的地址存的不是后面的 uri 地址?把前面这节放到我们的加号配置项目里面去进行动态的配置。这个问题问的好, 但是现在的问题就是说我们数据库中存了一个完整的链接地址,要求我们去替换 ip 或者域名,这个时候我们应该怎么搞呢? 如果要解决这个问题,我们就应该清楚哪些库里面的哪些表以及哪些字段需要我们进行相关的一个替换。比如说现在在我这张测试表里面的字段叫 url, 这个字段是带含文件地址的,需要我们进行替换,但是有可能其他的表里面叫尹曼吉或者其他的名字,这时候我们如果说去一个一个去查找表 你的这段经纪录,然后再一个一个去替换就很麻烦。第二个我们要知道替换语法是什么样的,比如说我整理的 update 的更新语句,我们更新这张表里面的 url 地址,然后我们可以通过这个 replace 替换这个 url 字段中包含幺二七的这个内容, 将它替换成我们这个三 w 这个地址。我们先来看下效果,先执行一下,执行完之后你会发现这里有三条的一个变更语句,也就是我们这张测试表,我们刷新下可以发现就成功替换了,这是我们的一个替换效果。 然后回到第一个问题,如果说我要替换到本次业务相关的所有库下面的所有表,再有这个内容的相关制段信息,那么这时候我们就需要知道数据库里面有这么一个 information schem, 在这个表里面有这么一个制段表,这个制段表里面 记录了我们数据库中的一个数据库名以及相关的表以及这段信息。知道这里面记录了表这段信息之后,我们就可以通过去手动的去拼接出我们要更新的一个语法, 比如说我们可以先去查询到这张表里面的一个质量信息,说这里的是 demo 数据库,然后我可以去动态的去拼接我这里的一个更新语句,比如说这里更新的是这张表里面的一个表明,以及我们设计一个值,然后设置更新我们的一个质段名,然后等于我们的替换语句, 然后就是我们最后加了一个未了条件,通过这个函数我们就可以判断到这个字段里面是否带有这个关键内容,如果说有的话我们就进行提款,没有的话我们就不处理。当然我们也可以使用耐克模糊查询去判断有没有包含这个内容。 然后我们可以来执行下这个 c 口,在下面我们就可以拿到相关的所有的一个表字段的一个替换语句,我们将这个表字段的替换语句全部 ctrl c, 然后到这个粘贴板里面来 ctrl v 一下,这里就给出了所有的一个表字段的一个更新操作语句,然后我们统一的去执行一下, 然后就可以得到我们最终的一个处理结果,我这里是将这个库下面的所有字来进行的替换,实际的时候我们可能只需要替换掉我们的一个挖叉类型, 也就是说这不算类型,像其他的硬头类型我们就根本不需要替换。所以说我们可以通过这个 detap 去判断一下,去过滤一下我们的需要替换的一个数据再走。如果说我们的表数据呢?已经上千万级了,这样直接去替换肯定会出现新的问题的。 所以说在业务前期我们就应该只存下 ui 地址,涉及到前面的域名,我们就应该做成一个配置选项,这样可以防止我们服务器域名变更的时候可以快速替换。

今天呢,咱们来看一看 java 十二是如何处理 switch 语句的,以及他做了哪些改进啊?啊,咱们来看一个例子,那这里呢,我定义一个类叫 switch test, 那里面定义一个方法叫 run switch, 那它的一个参数呢?是 three, 类型是 c。 那这里面呢,是经典的 switch 语句的实现啊,也是大家经常会用到的写法。其实这种语法呢,看上去是很啰嗦的,是很容易出错误的啊, 那至于说里面是如何执行的,我相信大家已经就是很熟悉了啊。嗯,这里咱们就是举例说明吧,就是当我输入参数为害或者哈喽的时候, 那么其实就会输出 hello, hi, tom, 对吧?然后跳出这个 switch。 但是呢,当我注视掉 high 和号对应的 break 指令的时候,咱们来看看输出结果是什么? ok, 我们可以看到 how old are you 和 what's your name 这两个 条语句都打印出来了,那我们的本意呢,其实是匹配 hello 和 high 对吧?对应的指定代码,但是为什么 how 和 what 对应的指定代码也进行了输出呢? 其实 java 在处理 switch 语句的时候,对吧会找到这个 break 中段指令只有匹配到 break 的时候才会进行退出。也就是说,如果我们对吧他找到了匹配的项目,那如果 kiss 没有 对匹配的 break, 那这里也就是,嗯, hello 和 high 没有对应的 break, 那么他会继续后面的 case 语句的执行, 也就是 how, 那发现 how 也没有这个 break, 那么 how, old are you 也进行了输出,那接着呢,找到了 what, 那继续输出 what's your name, 对吧?但是在 what 后面的指令中找到了这个 break 终端指令,那整个所以这一句就退出了, 所以说呢,我们在写这种经典的所谓之语句的时候,一定要谨记哪些 case, 对吧?应该对应哪个 break? 那其实这是一种这个糟糕的语法啊,很容易,嗯,犯错误的,那其实家务的作者呢,也意识到了这一点,那么在 那么在 java 十二中呢,就出现了一种比较便利和超级好用的方法,那下面我们把这个 drake 注视打开啊,用 java 十二语法。嗯,再来 来写一下,那这里呢,我为此快速的去呈现这个效果呢,我用这个 idea 快捷键来快快速的修复这个问题啊。 ok, 那其实我们可以看到啊,是没有任何 break 这个中断指令的参与的,那取而代之呢,是一个相应的箭头,那左边呢,是已经分好的这个分好组的 case 语句, 右边的箭头右边呢就是你要执行的右逻辑或者是你的指令代码。那其实你再也不用去写多余的 break 指令了,而且是不容易出错了,你学会了吗?

哈喽,大家好,我是叫啊小黄豆啊。我们来看看今天的面试题。在看面试题之前呢,我们先来了解一下关于制服串的两种创建方式。那么第一种创建方式是使用等号直接复制一个制服串,那么该种创建方式等于是直接指向的一个是数据, 也就是那字不串长量词了。那么我们比如说时俊啊, s t 二一等于 abc, 那么这个 abc 呢?话会到长量词里面去,然后 后长量词里面如果有了 abc, 他就不会到长量词里面再创建新的 abc 了。目前这样的做法就是很简单,为了节约内存的。所以说第一种做法的话,就是长量词指向了啊。第二种做法是什么呢?在 处对于区创建对象使用例如关键字了啊,比如说死俊 str 二点六死俊,然后 ab。 那么这样的做法就等于是什么呢?我们在堆区创建一个对象,然后的话呢,让 s t r 二指向堆区的这样一个对象。那么最后我们来看一看史俊一是不是等于死俊二,也就是说两个地址相不相等呢?肯定不等啊。为什么呢?第一个是指向的是长两词中的 abc, 第二个指向的是对区中的 abc, 他们怎么会相的呢?所以说结果是 fuss, 你以为这样就完了吗?现在才是刚刚开始。那么我们来看一看, s 蹲 a 等于 a, b, s 蹲 b 等于 字母算 a, 加上字母算 b, 那么请问 a 是否等于 b 的地址呢?然后呢,使用 c 等于 b, 使用 d 呢?等于字母算 a 加上 c, 那么请问 a 是否等于第一呢?好吧,如果说这个结果,你们运行过 之后,也许会毁了你的三观。实际上这非常的容易。那么第一个结果,那就是呢, a 是否等于 b? 答案是 a 确实是等于 b。 那么第二个结果, a 是否等于 d 呢?答案是 a 确实不等于 d。 因为呢, a 和 b 的地址相等。 第二个呢, a 和 d 的地址是不等的。那么为什么不等呢?那么我们来看一看啊。变量 a 等于是不是算 a b。 那么在这个时候的话呢,我们会在长量词中创建字,算 a b 了。 然后的话呢,变量 b 就等于字不算 a, 加上字不算 b 了。大家注意,这里都是字不算哦。字不算 a 加上字不算 b, 实际上等于字不算 a b。 这个时候也会在长梁直冲创建字不算 a b。 但是长梁之中已经有字不算 a、 b 了,所以说不会 再去创建。因此的话,变量 a 和变量 b 同时指向常量词中的 ab。 那么因此的话呢,变量 a 和变量 b 的地址当然是一样的。所以说呢, a 等于 b 吗?等于。 关键问题来了,变量 c 等于字不算 b。 那么也就是说呢, c 指向长能词中的字,不算 b。 常量词中有没有 b 呢?没有好长能词创建一个 b, 那么变量 d 等于制不上 a 加上 c。 好了。但是这里就是关键中的关键。注意啊,这里呢,会被变异器给改掉,也就是我们变异的时候。 哎,这个变量 d 呢?等于知不算 a 加上 c。 他到底底层怎么做的呢?他会变成使用 suvmbod 的点,按喷的方法进行相加,然后最后再利用 suvmbod 的点啊,凸顺的方法啊。 返回一个史尊对象的弟子,换另外一句话说,这个变量弟他实际上指向的就是对区的一个字,不算对 对象了。所以说的话呢,变量 d 的直他肯定是 a 和 b, 但是他指向的是堆区的,算不算对象,而 a 指向的是长量词中的 a 和 b 了。所以说 a 等于 d 吗?不等于,他们地址是不等于他们内容是相等的啊。那么 a 等于 b 吗? b 是指向长量词中的 a 和 b, 所以说 a 是等于 b 的,那么 a 就不等于 d。 那么问题又来了,你怎么知道变量 d 等于是不是 a 加上变量 c? 他是使用了食兵 beaut 点啊烹的方法呢,甚至是使用了食兵 六的对象呢。很简单,来,我们进行反面。一,我们利用字肩码马上就明白,谁让我们可以看到这里, 他会立即采用这个使用 beaut 的开始出串,然后啊喷的一次,啊喷的两次,最后突死瑞变成了一个制服串对象啊。这就是这道题的一个答案呢。这就是一个真实的面试题,你答对了吗?