A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© barcelona   /  2017-3-17 14:37  /  2692 人查看  /  26 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

旧时光9527 发表于 2017-3-18 01:17
返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索。
注意是最后一次出现处的 ...

我知道是最后一次出现处的索引,但是这个指定索引怎么理解?是不是就是lastIndexOf(String str, int fromIndex)方法中传递的参数fromIndex的值?其实并没有字面理解的那么简单.
回复 使用道具 举报 1 0
Tupurp 发表于 2017-3-17 16:13
修改后的,希望管理员给技术分
我看了下源码。大体内容如下:
首先呢lastindexof(str)方法体内部直接只写 ...

解析了源码厉害了
回复 使用道具 举报
barcelona 发表于 2017-3-18 15:43
我知道是最后一次出现处的索引,但是这个指定索引怎么理解?是不是就是lastIndexOf(String str, int fromIn ...

我看错了,应该从源码上回答的,楼上那位讲得很好
回复 使用道具 举报
旧时光9527 发表于 2017-3-18 16:18
我看错了,应该从源码上回答的,楼上那位讲得很好

其实,子串与要比较的串(母串)比较,首先分别用字符数组存储,然后把子串的第一个字符与母串要开始的地方进行比较,子串的第一个r和母串中第一次出现r比较,发现相同,记录下这个索引,这时的索引是2,但是第二个r与母串不同,然后就不比较了,这时他返回的是第一个相同的索引,也就是2
主要是字符相比较,相同记录当时的索引
回复 使用道具 举报
旧时光9527 发表于 2017-3-18 16:40
其实,子串与要比较的串(母串)比较,首先分别用字符数组存储,然后把子串的第一个字符与母串要开始的地方 ...

从源码来看,我觉得你这样理解不对.
子串首先拿最后一个字符和母串比较,那么母串从什么地方开始呢?母串从指定的索引加子串最大索引值开始.楼上的解析源码的兄弟已经讲的很好了,可以仔细看看!
回复 使用道具 举报
barcelona 发表于 2017-3-18 17:53
从源码来看,我觉得你这样理解不对.
子串首先拿最后一个字符和母串比较,那么母串从什么地方开始呢?母串从 ...

确实理解不对,看来要继续研读研读
回复 使用道具 举报
看了源码没看懂,悲哀
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马