轉載請注明出處: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算法。
新聞熱點
疑難解答