StringJoiner
StringJoiner 跟 StringBuilder 一样, 也可以看成是一个容器, 创建之后里面的内容是可变的.
作用: 提高字符串的操作效率, 而且代码编写特别简洁, 但是目前市场上很少有人用.
JDK 8 出现的.
StringJoiner 有两个构造方法:
public StringJoiner (间隔符号)
: 创建一个 StringJoiner 对象, 指定拼接时的间隔符号.
public StringJoiner (间隔符号, 开始符号, 结束符号)
: 创建一个 StringJoiner 对象, 指定拼接时的间隔符号, 开始符号和结束符号.
程序示例:
public class Test { public static void main(String[] args) { StringJoiner sj = new StringJoiner(", "); System.out.println(sj); } }
打印一个空行.
程序示例:
import java.util.StringJoiner; public class StringJoinerDemo { public static void main(String[] args) { int[] arr = {1, 2, 3}; StringJoiner s = new StringJoiner("---"); for (int i = 0; i < arr.length; i++) { s.add(arr[i] + ""); } System.out.println(s); } }
执行结果:
1---2---3
add 方法: public StringJoiner add(CharSequence newElement)
, 可以看出, 参数是 CharSequence
类型.
程序示例:
import java.util.StringJoiner; public class StringJoinerDemo { public static void main(String[] args) { int[] arr = {1, 2, 3}; StringJoiner s = new StringJoiner("---", "[", "]"); for (int i = 0; i < arr.length; i++) { s.add(arr[i] + ""); } System.out.println(s); } }
执行结果:
[1---2---3]
程序示例:
import java.util.StringJoiner; public class StringJoinerDemo { public static void main(String[] args) { StringJoiner s = new StringJoiner("---", "[", "]"); s.add("Hello").add("world").add("yeap!"); // 链式编程 System.out.println(s); } }
执行结果:
[Hello---world---yeap!]
StringJoiner 的成员方法:
public StringJoiner add(添加的内容)
: 添加数据并返回对象本身, 因此可以使用链式编程.
public int length()
: 返回长度, 是所有字符个数之和, 包括空白.
public String toString()
: 将 StringJoiner 变为 String.
代码:
import java.util.StringJoiner; public class StringJoinerDemo { public static void main(String[] args) { StringJoiner s = new StringJoiner("---", "[", "]"); s.add("Hello").add("world"); // 链式编程 System.out.println(s); // [Hello---world] int len = s.length(); System.out.println(len); // 15 } }
代码:
import java.util.StringJoiner; public class StringJoinerDemo { public static void main(String[] args) { StringJoiner s = new StringJoiner("\t"); s.add("Hello").add("world"); // 链式编程 System.out.println(s); // Hello world int len = s.length(); System.out.println(len); // 11, 一个制表符被认为是一个字符 } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~