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...