String Utilsspa
Joinerorm
將一系列的字符串經過分隔符鏈接,能夠經過方法跳過null,若是沒有跳過會報NPE,也能夠經過方法將null經過其餘字符串代替blog
egip
Joiner joiner0 = Joiner.on(";").skipNulls();字符串
Joiner joiner = Joiner.on(";").useForNull("null");get
String res = joiner.join("Harry", null, "Ron", "Hermione");it
System.out.println(res);io
String info = Joiner.on(",").join(Arrays.asList(1, 5, 7));test
System.out.println(info);jdk
Splitter
jdk中有相似的分割方法,String.split 或者StringTokenizer
Splitter.on(char)經過一個特殊的分割符分割Splitter.on(',')
Splitter.on(CharMatcher)經過設置相關匹配的字符進行分割
Splitter.on(CharMatcher.BREAKING_WHITESPACE)
Splitter.on(CharMatcher.anyof(";,."))
Spliter.on(String) Splitter.on(",")
Splitter.on(Pattern)
Splitter.onPattern(String) 經過特殊的通配符進行分割
Splitter.fixedLength(int),指定長度切割字符串
修飾方法
omitEmptyStrings 自動去掉空字符
eg
Splitter.on(",").omitEmptyStrings().split("a,c,,d");
trimResults() 去掉空白的字符等於 trimResults(CharMatcher.WHITESPACE)
eg
Splitter.on(",").trimResults(CharMatcher.whitespace()).split("a,b ,c , d");
trimResults(CharMatcher) 去除指定字符
limit (int) 中止分割,當指定的字符串返回
splitToList()能夠獲取一個列表,而不是Iterable
Map Splitters 使用特定的分割符分割字符串爲Map形式
MapSplitter
CharMatcher
Charsets
String test="testString";
//不推薦這樣
try {
test.getBytes("UTF-8");
}catch (Exception e){
}
//應該這樣
test.getBytes(Charsets.UTF_8);
對於這行代碼,應該使用guava中的Charsets,提供了6種基本的
charset,更加好用
CaseFormat
格式化
public void testCaseFormat() {
String result = CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, "LAUCH_TIME");
System.out.println(result);
}