跳转到主内容
websoft网络软件专家 - 深耕网络技术,打造实用软件!

在Java中如何利用StringJoiner拼接字符串_Java字符串拼接工具讲解

StringJoiner核心是设定分隔符、可选前后缀、逐个添加,比手动拼接安全、比StringBuilder语义明确;支持prefix/suffix、merge合并及Stream中Collectors.joining()集成。 Java中用
StringJoiner
拼接字符串,核心是“设定分隔符、可选前后缀、逐个添加”,它比手动拼接更安全,比
StringBuilder
更语义明确,尤其适合带分隔符的列表组装。 基础用法:指定分隔符,添加元素
StringJoiner
必须传入分隔符(如
","
)才能创建,之后调用
add()
追加非空字符串,自动插入分隔符: 示例:
StringJoiner sj = new StringJoiner(","); sj.add("apple").add("banana").add("cherry"); System.out.println(sj.toString()); // 输出:apple,banana,cherry
注意:
add(null)
会抛出
NullPointerException
;空字符串
""
是合法的,会被正常加入。 立即学习 “ Java免费学习笔记(深入) ”; 支持前后缀:生成带括号或引号的格式 构造时可额外传入
prefix
和
suffix
,适用于生成JSON数组片段、SQL IN列表等场景: 三个参数构造:new StringJoiner(分隔符, 前缀, 后缀) 前缀后缀只在有内容时生效;若未添加任何元素,
toString()
返回的就是前缀+后缀(如
"[]"
) 示例(生成SQL in子句): Eclipse导入Android或其他的JAVA项目的正确方法 WORD版 本文档主要讲述的是Eclipse导入Android或其他的JAVA项目的正确方法;希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看 下载
StringJoiner sj = new StringJoiner(",", "(", ")"); sj.add("'a'").add("'b'").add("'c'"); System.out.println(sj.toString()); // 输出:('a','b','c')
合并多个StringJoiner:复用已有结果 用
merge(StringJoiner other)
可把另一个
StringJoiner
的内容“并入”当前对象,要求两者分隔符、前后缀完全一致,否则行为未定义(实际可能拼错): 被合并的
other
不能为空(即至少有一个元素),否则不生效 合并后原
other
不变,当前对象内容追加其全部元素 示例:
StringJoiner sj1 = new StringJoiner("-", "[", "]"); sj1.add("x").add("y"); StringJoiner sj2 = new StringJoiner("-", "[", "]"); sj2.add("z"); sj1.merge(sj2); System.out.println(sj1.toString()); // 输出:[x-y-z]
与Collectors.joining()配合流式处理 在Stream中,常用
Collectors.joining()
——它底层就是基于
StringJoiner
实现的:
joining(CharSequence delimiter)
→ 对应无前后缀的StringJoiner
joining(delim, prefix, suffix)
→ 完整构造 示例:
List list = Arrays.asList("one", "two", "three"); String result = list.stream() .map(String::toUpperCase) .collect(Collectors.joining("-", "{", "}")); // 输出:{ONE-TWO-THREE}
基本上就这些。StringJoiner轻量、不可变(add后返回this,但自身状态改变)、线程不安全,日常拼接够用,无需过度封装。

相关文章