Java中的 String.join() 將列表以某個字串分隔組裝為一個字串 (之前我都不知道,自己寫方法)
之前用Python,有個很方便的 list.join 方法,將列表中的字串以 特殊字元分隔 組裝為一個字串,後來換了Java,也會習慣的認為 Java的 List也會有類似的操作,但是 點不出來吖。
所以 要用到類似的操作時都是自己 寫個迴圈方法。
但是,今天看同學寫程式碼,剛好有類似的操作,然後使用了 String.join(), 當時就是一句 臥槽,原來有啊,當時就覺得這肯定得寫個Blog記錄下。
介紹下這個API:注意下 @since 1.8
/**
* Returns a new String composed of copies of the
* {@code CharSequence elements} joined together with a copy of
* the specified {@code delimiter}.
*
* <blockquote>For example,
* <pre>{@code
* String message = String.join("-", "Java", "is", "cool");
* // message returned is: "Java-is-cool"
* }</pre></blockquote>
*
* Note that if an element is null, then {@code "null"} is added.
*
* @param delimiter the delimiter that separates each element
* @param elements the elements to join together.
*
* @return a new {@code String} that is composed of the {@code elements}
* separated by the {@code delimiter}
*
* @throws NullPointerException If {@code delimiter} or {@code elements}
* is {@code null}
*
* @see java.util.StringJoiner
* @since 1.8
*/
public static String join(CharSequence delimiter, CharSequence... elements) {
Objects.requireNonNull(delimiter);
Objects.requireNonNull(elements);
// Number of elements not likely worth Arrays.stream overhead.
StringJoiner joiner = new StringJoiner(delimiter);
for (CharSequence cs: elements) {
joiner.add(cs);
}
return joiner.toString();
}
/**
* Returns a new {@code String} composed of copies of the
* {@code CharSequence elements} joined together with a copy of the
* specified {@code delimiter}.
*
* <blockquote>For example,
* <pre>{@code
* List<String> strings = new LinkedList<>();
* strings.add("Java");strings.add("is");
* strings.add("cool");
* String message = String.join(" ", strings);
* //message returned is: "Java is cool"
*
* Set<String> strings = new LinkedHashSet<>();
* strings.add("Java"); strings.add("is");
* strings.add("very"); strings.add("cool");
* String message = String.join("-", strings);
* //message returned is: "Java-is-very-cool"
* }</pre></blockquote>
*
* Note that if an individual element is {@code null}, then {@code "null"} is added.
*
* @param delimiter a sequence of characters that is used to separate each
* of the {@code elements} in the resulting {@code String}
* @param elements an {@code Iterable} that will have its {@code elements}
* joined together.
*
* @return a new {@code String} that is composed from the {@code elements}
* argument
*
* @throws NullPointerException If {@code delimiter} or {@code elements}
* is {@code null}
*
* @see #join(CharSequence,CharSequence...)
* @see java.util.StringJoiner
* @since 1.8
*/
public static String join(CharSequence delimiter,
Iterable<? extends CharSequence> elements) {
Objects.requireNonNull(delimiter);
Objects.requireNonNull(elements);
StringJoiner joiner = new StringJoiner(delimiter);
for (CharSequence cs: elements) {
joiner.add(cs);
}
return joiner.toString();
}
相關文章
- Java 中將列表轉換為字串,並使用逗號分隔其中的元素Java字串
- JS中將一個值轉換為字串的3種方法JS字串
- 獲取母字串中某個子字串的某個確定的index值字串Index
- java中檢驗字串中包含某個字元或欄位的方法Java字串字元
- sql去除某個欄位中的某個字串 replaceSQL字串
- JavaScript將字串中的多個空格縮減為一個空格JavaScript字串
- Oracle自定義函式---按照某個分隔符拆分字串Oracle函式字串
- 將字串每一個單詞第一個字元設定為大寫字串字元
- mongodb查詢資料庫中某個欄位中的值包含某個字串的方法MongoDB資料庫字串
- C++實現一個將字串中所有字母轉換為大寫的方法C++字串
- Oracle以逗號分隔的字串拆分為多行資料Oracle字串
- Python中查詢字串某個字元最常用的方法!Python字串字元
- 【Java】編寫一個擷取字串的函式,輸入為一個字串和位元組數,輸出為按位元組擷取的字串。但是要保證漢字不被截半個,如“我ABC”4,應該截為“我AB”,輸入“我ABC漢DEF”,6,應該輸出為“我ABC”而不是“我ABC+漢的半個”。Java字串函式
- 將List元素拼裝成逗號分隔的字串字串
- javascript替換字串中的某個漢字JavaScript字串
- 轉化某個字母字串為反向大小寫儲存過程字串儲存過程
- python怎麼查詢字串中是否包含某個字串Python字串
- 將List中的資料組成用逗號分隔的字串,如'a','b','c'字串
- 判斷某一個字串是否存在另一個字串中字串
- javascript將字串中的多個空格替換為一個空格的正則例項JavaScript字串
- oracle plsql之如何把以逗號,分隔的字串分割成多個子字元OracleSQL字串字元
- 以上程式碼使用good分隔字串生成一個陣列。Go字串陣列
- javascript中將數字轉為字串的方法JavaScript字串
- 如何用python判斷列表中是否包含多個字串中的一個或多個?Python字串
- 統計字串中某個字元出現的次數字串字元
- Java演算法面試題(003) 如何檢查一個字串是另外一個字串的旋轉字串Java演算法面試題字串
- iOS 擷取字串中兩個指定字串中間的字串iOS字串
- 如何在js中判斷是否包含某個字串JS字串
- Java拼接字串時,去掉最後一個多餘的逗號,或者Java刪除某個字元Java字串字元
- delphi 中分隔符分隔的字串字串
- 替換空格 將一個字串中的空格替換成“ ”字串
- 如何在Java中將字串轉換為日期Java字串
- C# 字串中多個連續空格轉為一個空格C#字串
- 判斷一個字串是否包含一個子串的方法字串
- (字串動態規劃)一個字串變成另一個字串的步驟數字串動態規劃
- javascript中檢測某個字串在陣列中是否存在JavaScript字串陣列
- 轉:SQL Server中將多行資料拼接為一行資料(一個字串)SQLServer字串
- java中排序一個字串陣列Java排序字串陣列