00:00
好了,同学们,我们接下来呢,给大家讲一下字符串的比较,我先把这个给它注掉啊,然后把这个写上一个突突,然后呢,我接下来往下走啊,咱们写上它,咱们叫突突,我们叫字符串的比较,所谓的字符串的比较啊,就是看我们的字符串啊,它是不是相等啊,谁大谁小啊,就这么个意思啊,那么这里呢,我们就写上它,我们写上一个我们的字符串的我们的A,它等于A,然后呢,我们再写上它,我们写上一个我们的B啊,然后呢,再写上一个我B啊好了,那接下来呢,我就首先想看一看我们的字符串,它相不相等啊,诶,相等。那么字符串的相不相等呢?其实我们用的就是我们的A,然后点有一个叫equals方法,这个equals方法呢,是我们的object所提供的一个判断相不相等的方法,所以我写上一个B,那这样的话,我们两个字符串就可以判断相不相等了,所以我们直接打印,那么我们说怎么叫相等呢?很简单,字符串当中的每一个字符如果是相等的话,我们认为整个字符串就是相等的,记住啊,每一个字符都要相等,包括大小,写这个咱们一会儿再说,我现在运行一下,运行以后大家会发现我们当前的这个值就是false,因为我们的A和B不相等嘛,哎,老师呀,那如果是A呢,如果是A的话,我们字符串里面的两个字符肯定是相等的呀,所以我们这样的话,肯定是处嘛。
01:20
你看结果肯定是出对不对,但是我们说过了,如果你把它变成我们的大写呢,哎,那么这个时候我们来观察一下运行,运行之后我们看结果你就会发现它就是false,诶老师,这是为什么呢?很简单,因为我们小写字符和大写字符啊,在我们阿克码当中,它表述的字节是不一样的,所以说它字节不一样的话,他们就不可能相等,那所以在这种情况下,我们的两个字串它也就不相等了,老师,那如果我想让它们不考虑大小写相不相等怎么办呢?其实也有这个办法,其上我们这也有啊,就是我们的忽略啊,大小写的相等对吧,你判断它相不相等,但是我忽略大小写呀,所以呢,把这个拷贝拷贝以后我们还叫ES,只不过呢,我们后面要加东西了,叫I ignore I case,叫忽略我们的大小写,你把这个B放进去,你放进去以后同学们,那么这个时候呢,我们来运行一下,运行之后你会发现我们当前的这个就是true呢,为什么是true啊,因为忽略大小写。
02:21
的话,他们其实都是字母A嘛,对不对,只不过大小写不一样,这是我们的拉丁字母当中的一种特殊情况,这个大家知道就行了呀,光相不相等还不够啊,同学们,为什么?因为我们还有谁大谁小呢,哎,老师呀,那我现在他俩谁大谁小啊,咱们看看啊来。咱们这里呢,就来给大家写上它,我们叫做A,点一下它有一个方法叫compare to,这个方法呢,就是来比较我们当前的两个字数,谁大谁小,大小的话就在于我们这个方法的返回值了,所以我们来写上它,然后点我们的VR回车,回车以后它会返回一个值,如果这个值它是我的正数,就说明A大于B,所以咱们说一下,来咱们说一下我们I的值它等于正数啊,那说明我们的A它大于B,那么如果我们当前I的值它等于我们的负数,那就说明我们的A小于B,如果当前I它等于零,那么说明我们的A它等于B,哎,就这么个意思,所以呢,我们现在只要验证一下就可以了,来吧,我们现在呢,来写上它,咱们叫做I,咱们看一个啊,呃,这两个呢,我们就不要了,把它做掉。
03:31
运行一下,运行以后大家看结果,你会发现它当前呢是我们的32,这个32呢,就是我们当前的正数,说明啊,我们的A大于我们的BA,哎,老师这不明显它是大写,它是小写吗?对不对,怎么你说我当前的A是大于B的呢?这个大家可能就不太明白了,所以怎么办呢?我们这个时候我们把它改成我的一和二,哎,让大家好理解一些,一和二,那么字符串的一和二其实就是字符的一和二嘛,那么字符的一和二的话,肯定是2:1要大嘛,那么2:1要大的话,那么它是一,它是二的话,那么肯定1比2小嘛,那么小的话应该是个负数吧,所以咱们现在打印的结果应该是个负数,咱们看看啊。
04:11
你看它是个负一对不对,哎,就是负一,好,那么如果是个负一的情况下,那好我现在写个一呢,我如果写个一什么意思,它表述的含义就是我们当前是相等的,应该就是零了吧,所以我运行一下,运行运行以后看结果啊,你会发现当前就是零,所以啊,我们字符串不是比较字符串本身,而是比较它的什么里面字符谁大谁小啊,那字符的底层不是字节嘛,所以给大家解释一下,我们刚才的这个小写的A,它的字节数更大,而我们当前的这个大写的A呢,它的字节数更小,这里呢,我们可以验证一下啊,我们写上一个我们的bit啊,写上一个B啊,它等于我们的A,然后呢,给它来我们的bitt就行了,好,然后呢,我再写上一个我们的AB2,然后呢,我们的这个小写A,那现在呢,我就打印一下咱们当前的这个A,它等于咱们加上B1,然后呢,再写上一个小写的A,我们再写上一个B2就行了。
05:09
我就看看它们两个对应的这个字解码是多少,运行,运行以后大家看结果,你会发现我们的这个大写的A,它是我们的65,而我们的小写的A是97,那么从阿斯克玛的角度来讲的话,97应该比65要大,对不对?而且巧了,他们中间的差值不就恰恰是32吗?所以说我们这个返回的结果恰恰是它们的差值啊,同学们能不能明白?哎,大概的明白就可以了,就是我们告诉大家我们这个是怎么比较的就可以了啊好了,简单来讲呢,其实啊,就是从我们字典的顺序当中看看这个字符啊,它到底呢,是我们的大还是小就行了,哎,老师,那如果我跟前面一样也想忽略大小写的比较怎么办?你现在这个compare to啊,它的比较规则在这儿呢,那我现在呢,想忽略大小写行不行呢,也可以,所以把这个注掉做掉以后,我们这也是忽略大小写的比较。
06:09
好了,那么我这里就写上了,咱们把这个东西叫做A,我们叫做点,我们叫compare to a ignore case,把那个B呢放过来,然后呢,我们写上一个我们的它打印,打印之后看结果,你会发现它们两个其实就是一样大的,都是零嘛,如果是零说明它们两个是相等的,对不对?忽略大小,写这个是没有任何问题的,我们知道字符串怎么比较,其实就可以了啊。
我来说两句