String原始碼閱讀(三)

2021-09-26 23:05:41 字數 1138 閱讀 1941

public string split(string regex, int limit)  else 

}// if no match was found, return this

if (off == 0)

return new string;

//如果limit大於最大返回長度,上面else中的**不會執行,在此處將最後一段放入list中

// add remaining segment

if (!limited || list.size() < limit)

list.add(substring(off, value.length));

//如果limit==0,並且最後乙個分割字串後沒有字元,例如「1,2,3,4,」則返回陣列長度為4

//最後的字元不是空串「 」而是「」。如果是「 」則返回長度為5

// construct result

int resultsize = list.size();

if (limit == 0)

}string result = new string[resultsize];

return list.sublist(0, resultsize).toarray(result);

}return pattern.compile(regex).split(this, limit);

}

如果使用了轉義字元,則結果陣列中元素後會有乙個\,例如:

string s = "1\\^2\\^3\\^4";

string sp = s.split("\\^",0);

system.out.println(sp.length);

for(string u : sp)

system.out.println(u);

結果為:41\

2\3\

4

public static string join(charsequence delimiter, charsequence... elements) 

return joiner.tostring();

}

tolowercase 以及toupercase涉及到國際化,後續寫。

String原始碼閱讀總結

1 charat index 獲取字元 codepointat 提取索引字元 點 2 string 和 charsequence 關係 string 繼承於charsequence,也就是說string也是charsequence型別。charsequence是乙個介面,它只包括length cha...

《原始碼閱讀》原始碼閱讀技巧,原始碼閱讀工具

檢視某個類的完整繼承關係 選中類的名稱,然後按f4 quick type hierarchy quick type hierarchy可以顯示出類的繼承結構,包括它的父類和子類 supertype hierarchy supertype hierarchy可以顯示出類的繼承和實現結構,包括它的父類和...

SparkSQL(原始碼閱讀三)

額,沒忍住,想完全了解sparksql,畢竟一直在用嘛,想一次性搞清楚它,所以今天再多看點好了 曾幾何時,有乙個叫做shark的東西,它改了hive的原始碼。突然有一天,spark sql突然出現,如下圖 好了,不逗了,言歸正傳。那麼一條sql傳統資料庫會是怎麼解析的呢?傳統資料庫的解析過程是按ru...