在Java中,将字符串数组(String[])转换为字符串(String)有多种方法,具体取决于你想要的格式(用逗号分隔、无分隔符、自定义分隔符等),以下是几种常见的方法:

(图片来源网络,侵删)
方法1:使用 String.join()(Java 8+ 推荐)
这是最简洁、最推荐的方法,适用于自定义分隔符的场景。
String[] array = {"Hello", "World", "Java"};
String result = String.join(", ", array); // 用逗号和空格分隔
System.out.println(result); // 输出: Hello, World, Java
特点:
- 直接指定分隔符(如 、、 等)。
- 代码简洁,可读性高。
方法2:使用 Arrays.toString()(仅用于调试)
如果只是想快速查看数组内容(类似调试输出),可以使用 Arrays.toString()。
String[] array = {"Hello", "World", "Java"};
String result = Arrays.toString(array);
System.out.println(result); // 输出: [Hello, World, Java]
注意:

(图片来源网络,侵删)
- 结果会包含方括号
[]和逗号分隔符,不适合直接用于业务逻辑。
方法3:使用 StringBuilder 或 StringBuffer(手动拼接)
如果需要更灵活的控制(例如添加前后缀或复杂逻辑),可以手动拼接。
String[] array = {"Hello", "World", "Java"};
StringBuilder sb = new StringBuilder();
for (String s : array) {
if (sb.length() > 0) {
sb.append(", "); // 添加分隔符
}
sb.append(s);
}
String result = sb.toString();
System.out.println(result); // 输出: Hello, World, Java
特点:
- 适合需要复杂逻辑的场景(如过滤、转换等)。
- 性能较好(
StringBuilder是非线程安全的,StringBuffer是线程安全的)。
方法4:使用 Stream(Java 8+,适合复杂操作)
如果需要对数组元素进行额外处理(如过滤、转换),可以使用 Stream。
String[] array = {"Hello", "World", "Java"};
String result = Arrays.stream(array)
.collect(Collectors.joining(", ")); // 自定义分隔符
System.out.println(result); // 输出: Hello, World, Java
进阶示例(过滤并拼接):
String[] array = {"Hello", "World", "Java"};
String result = Arrays.stream(array)
.filter(s -> !s.equals("World")) // 过滤掉 "World"
.collect(Collectors.joining("-")); // 用 "-" 连接
System.out.println(result); // 输出: Hello-Java
特点:
- 功能强大,支持链式操作(如
filter、map等)。 - 适合需要对数组元素进行处理的场景。
方法5:使用 StringUtils.join()(Apache Commons Lang)
如果项目中使用了 Apache Commons Lang 库,可以用 StringUtils.join()。
String[] array = {"Hello", "World", "Java"};
String result = StringUtils.join(array, ", "); // 分隔符为 ", "
System.out.println(result); // 输出: Hello, World, Java
依赖(Maven):
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
</dependency>
特点:
- 代码简洁,功能与
String.join()类似。 - 需要额外引入依赖。
| 方法 | 适用场景 | 示例 | 特点 |
|---|---|---|---|
String.join() |
简单拼接,自定义分隔符 | String.join(", ", array) |
Java 8+,推荐 |
Arrays.toString() |
调试输出 | Arrays.toString(array) |
结果带 [],不适合业务 |
StringBuilder |
复杂逻辑或性能敏感 | new StringBuilder().append(...) |
灵活,性能好 |
Stream |
需要过滤/转换 | Arrays.stream(array).collect(...) |
功能强大,适合复杂操作 |
StringUtils.join() |
已用 Apache Commons | StringUtils.join(array, ", ") |
需要依赖库 |
推荐选择:
- 简单拼接:
String.join()(Java 8+)。 - 复杂逻辑:
StringBuilder或Stream。 - 调试:
Arrays.toString()。
根据你的需求选择最合适的方法!
