1.String類中的join(CharSequence delimiter, CharSequence... elements)方法:
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();
}
傳回一個新的字元串,由
CharSequence elements
的副本組成,并附有指定的delimiter的
delimiter
。
順便說一下requireNonNull(T obj)方法:
public static <T> T requireNonNull(T obj) {
if (obj == null)
throw new NullPointerException();
return obj;
}
就是一個判斷傳入的對象是否為null的方法
示例:
package com.ftl821;
public class Test {
public static void main(String[] args) {
String str="ff";
String str1="dfhsssssssssssssssshd";
System.out.println(str.join("**", "看","一","下","結果"));
System.out.println(str1.join("**", "看","一","下","結果"));
System.out.println(String.join("**", "看","一","下","結果"));
}
}
輸出:

其輸出結果和調用該方法的對象沒有任何關系,最終得到的對象隻與方法裡面的格式和内容有關。
2.String類中的 join(CharSequence delimiter, Iterable<? extends CharSequence> elements)方法:
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();
}
傳回一個新
String
的副本組成
CharSequence elements
與指定的副本一起加入
delimiter
示例:
package com.ftl821;
import java.util.LinkedHashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
public class Test {
public static void main(String[] args) {
List<String> strings = new LinkedList<>();
strings.add("Java");
strings.add("is");
strings.add("cool");
System.out.println(String.join("**", strings));
Set<String> strings1 = new LinkedHashSet<>();
strings1.add("Java");
strings1.add("is");
strings1.add("very");
strings1.add("cool");
System.out.println(String.join("##", strings1));
}
}
輸出:
分析:其實這個方法和上一個方法是一樣的,隻不過上個方法的字元串元素是一個一個寫上去的,而這個方法則是将字元串元素放到list或set集合中,然後再在字元串元素中間添加指定的字元串進行拼接後輸出。