您好,登錄后才能下訂單哦!
怎么在Java8中使用StringJoiner類拼接字符串?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
假設現在遍歷一個字符串集合,需求是每個元素按照 “.” 分開。
String a = "w", b = "d", c = "n", d = "m", e = "d"; List<String> list = new ArrayList<>(); list.add(a); list.add(b); list.add(c); list.add(d); list.add(e);
最原始的做法,拼接就完了,eazy。
String result = ""; for (String str : list) { result += str + "."; } // 最后在處理掉最后一個 “.” 齊活兒,收工 System.err.println(result.substring(0, result.length() - 1));
emm 有點丑,優雅點!
StringBuilder builder = new StringBuilder(); list.forEach(str -> builder.append(str).append(".")); System.err.println(builder.toString().substring(0, builder.length() - 1));
上面的都不太方便,還要處理下結果,怪麻煩的,那能不能更優雅呢?能!上StringJoiner!
// 聲明StringJoiner, 每個元素通過 "." 分割 StringJoiner joiner = new StringJoiner("."); list.forEach(joiner::add); System.err.println(joiner.toString());
達到了一樣的效果
那還有啥其他作用不?
// 每個元素通過 "." 分割,并且用 "[" 和 "]" 包住前后 StringJoiner joiner2 = new StringJoiner(".", "[", "]"); list.forEach(joiner2::add); System.err.println(joiner2.toString());
再比如
// 每個元素通過 "." 分割,并且用 "[" 和 "]" 包住前后 StringJoiner joiner2 = new StringJoiner(".", "[", "]"); list.forEach(joiner2::add); // 將joner和joner2的元素合并,并且每個元素通過 "." 分割,并且用 "[" 和 "]" 包住前后 joiner2.merge(joiner); System.err.println(joiner2.toString());
這還有個setEmptyValue,看方法名字是設置個空值?試一下,發現并沒啥效果,點進去瞅瞅。
StringJoiner joiner = new StringJoiner("."); list.forEach(joiner::add); System.err.println(joiner.toString()); joiner.setEmptyValue("abc"); System.err.println(joiner.toString());
關于怎么在Java8中使用StringJoiner類拼接字符串問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。