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集合中,然后再在字符串元素中间添加指定的字符串进行拼接后输出。