📅  最后修改于: 2020-03-27 01:45:38             🧑  作者: Mango
先决条件:StringJoiner
当您需要在流中连接字符串时,StringJoiner非常有用。
任务:假设我们需要字符串“ [George:Sally:Fred]”,我们在其中给出了一个包含“ George”,“ Sally”和“ Fred”的字符串数组。
StringJoiner提供add(String str)方法来基于构造函数中提供的定界符,前缀和后缀来连接字符串,但是如果我们使用StringBuilder执行我们的任务,那么我们首先必须附加前缀,然后遍历字符串数组并附加必需的字符串内每个元素之后的定界符,最后附加前缀。下面是演示两种方法的Java程序。
// Java针对StringBuilder使用StringJoiner
import java.util.StringJoiner;
public class Test
{
public static void main(String[] args)
{
// string array
String str[] = {"George","Sally","Fred"};
// 使用StringJoiner
// 初始化StringJoiner
// 提供界定符, 前缀,后缀
StringJoiner sj = new StringJoiner(":", "[", "]");
// 拼接strings
sj.add("George").add("Sally").add("Fred");
// 把StringJoiner转为String
String desiredString = sj.toString();
System.out.println(desiredString);
// 使用StringBuilder
// 声明空stringbuilder
StringBuilder sb = new StringBuilder();
// 增加前缀
sb.append("[");
if(str.length>0)
{
// 增加第一个元素
sb.append(str[0]);
// 遍历array,同时增加界定符
for (int i = 1; i < str.length; i++)
{
sb.append(":").append(str[i]);
}
}
// 添加后缀
sb.append("]");
// StringBuilder转换为String
String desiredString1 = sb.toString();
System.out.println(desiredString1);
}
}
输出:
[George:Sally:Fred]
[George:Sally:Fred]