转载请注明出处:http://blog.csdn.net/jevonsCSDN/article/details/60758197 【Jevons’Blog】
本文将对String部分源码进行阅读分析的记录。
对String中的contains方法进行分析,了解其采用的是什么算法进行匹配。
//用于判断源字符串是否包含目标字符序列 CharSequence s public boolean contains(CharSequence s) { //调用indexOf(String str)方法 return indexOf(s.toString()) > -1; }从这个方法中可以看出,其采用的是最原始也是最笨的方法进行匹配,将目标字符串与源字符串的字符进行逐一匹配,若第一个字符匹配成功,则进行余下的匹配,若余下的匹配不成功,则从一开始目标字符串的第一个字符与源字符串匹配时的下标的下一位继续进行匹配。这样其实是浪费了很多没必要的时间。有关字符串匹配的快捷有效匹配算法,可以参照KMP算法。
新闻热点
疑难解答