在 Java8 中,java.util
包中引入了一个新类 StringJoiner
。利用这个类,我们可以使用指定分隔符连接多个字符串,还可以为最终字符串添加前缀和后缀。
下边介绍一些 StringJoiner
类的示例。
示例1:通过指定分隔符连接字符串 在这个例子中,我们使用 StringJoiner
连接多个字符串,在创建 StringJoiner
实例时我们将分隔符指定为连字符(-
)。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 import java.util.StringJoiner; public class Example { public static void main(String[] args) { // 传递连字符(-)作为分隔符 StringJoiner mystring = new StringJoiner("-"); // 通过 add() 方法连接多个字符串 mystring.add("张三"); mystring.add("李四"); mystring.add("王五"); mystring.add("赵六"); System.out.println(mystring); } }
输出:
示例2:为输出字符串添加前缀和后缀 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 import java.util.StringJoiner; public class Example { public static void main(String[] args) { /* 传递逗号(,)作为连字符 * 左括号为前缀右括号为后缀 */ StringJoiner mystring = new StringJoiner(",", "(", ")"); mystring.add("张三"); mystring.add("李四"); mystring.add("王五"); mystring.add("赵六"); System.out.println(mystring); } }
输出:
示例3:合并两个 StringJoiner 对象 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 import java.util.StringJoiner; public class Example { public static void main(String[] args) { StringJoiner mystring = new StringJoiner(",", "(", ")"); mystring.add("张三"); mystring.add("李四"); mystring.add("王五"); mystring.add("赵六"); System.out.println("First String: " + mystring); StringJoiner myanotherstring = new StringJoiner("-", "pre", "suff"); myanotherstring.add("小张"); myanotherstring.add("小李"); myanotherstring.add("小王"); myanotherstring.add("小赵"); System.out.println("Second String: " + myanotherstring); /* 合并两个字符串要注意的是 * 输出字符串将具有第一个字符串的分隔符前缀和后缀 */ StringJoiner mergedString = mystring.merge(myanotherstring); System.out.println(mergedString); } }
输出:
1 2 3 First String: (张三,李四,王五,赵六) Second String: pre小张-小李-小王-小赵suff (张三,李四,王五,赵六,小张-小李-小王-小赵)
在上边的例子中我们学习了 StringJoiner
类的 add()
和 merge()
方法,再来看看这个类的其他方法。
setEmptyValue(),length() 和 toString() 方法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 import java.util.StringJoiner; public class Example { public static void main(String[] args) { StringJoiner mystring = new StringJoiner(","); /* 使用 setEmptyValue() 方法可以设置 StringJoiner 实例 * 的默认值如果 StringJoiner 为空并且 * 我们打印它的值就会显示此默认值 */ mystring.setEmptyValue("这是个默认字符串"); /* 我们还没有向 StringJoiner 添加任何字符串 * 所以这应该显示 StringJoiner 的默认值 */ System.out.println("Default String: " + mystring); mystring.add("苹果"); mystring.add("香蕉"); mystring.add("橘子"); mystring.add("猕猴桃"); mystring.add("葡萄"); System.out.println(mystring); /* StringJoiner 类的 length() 方法返回 * 字符串的长度(StringJoiner 实例中的字符数) */ int length = mystring.length(); System.out.println("Length of the StringJoiner: " + length); /* toString() 方法用于将 StringJoiner * 实例转换为字符串 */ String s = mystring.toString(); System.out.println(s); } }
输出:
1 2 3 4 Default String: 这是个默认字符串 苹果,香蕉,橘子,猕猴桃,葡萄 Length of the StringJoiner: 15 苹果,香蕉,橘子,猕猴桃,葡萄
参考: Java 8 – StringJoiner JavaDoc