java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Java String.join()字符串拼接

Java中String.join()高效字符串拼接的实现

作者:AA-代码批发V哥

本文主要介绍了Java中String.join()高效字符串拼接的实现,包括基础拼接、StreamAPI结合、非字符串类型处理及与传统方式对比,具有一定的参考价值,感兴趣的可以了解一下

前言

String.join() 是 Java 8 引入的静态方法,用于将多个字符串通过指定分隔符合并成一个字符串。它简化了传统的字符串拼接逻辑,尤其适合处理集合或数组中的元素拼接。

一、基础用法:拼接数组或集合元素(仅分隔符)

语法

String.join(CharSequence delimiter, CharSequence... elements)

示例 1:拼接字符串数组

String[] fruits = {"Apple", "Banana", "Cherry"};
String result = String.join(", ", fruits);
System.out.println(result); // 输出:Apple, Banana, Cherry

示例 2:拼接集合元素

List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
String result = String.join(" -> ", names);
System.out.println(result); // 输出:Alice -> Bob -> Charlie

注意事项

String[] arr = {"A", "", "B"};
String result = String.join("-", arr); // 输出:A--B

二、进阶用法:结合 Stream API 处理复杂场景

通过 Stream 的 collect(Collectors.joining()) 可添加前缀后缀,语法如下:

.collect(Collectors.joining(delimiter, prefix, suffix))

示例 1:添加前缀和后缀(如数组格式)

List<String> list = Arrays.asList("One", "Two", "Three");
String result = list.stream()
    .collect(Collectors.joining(", ", "[", "]"));
System.out.println(result); // 输出:[One, Two, Three]

示例 2:处理空集合的默认值

List<String> emptyList = Collections.emptyList();
String result = emptyList.stream()
    .collect(Collectors.joining(", ", "Items: [", "]"));
System.out.println(result); // 输出:Items: [](空集合时保留前缀和后缀)

三、特殊场景:处理非字符串类型

若元素为非字符串(如数字、对象),需先转为字符串再拼接:

Integer[] numbers = {1, 2, 3, 4, 5};
String result = Arrays.stream(numbers)
    .map(String::valueOf) // 转换为字符串
    .collect(Collectors.joining(" | "));
System.out.println(result); // 输出:1 | 2 | 3 | 4 | 5

四、对比传统拼接方式

传统方式(StringBuilder)

StringBuilder sb = new StringBuilder();
for (String fruit : fruits) {
    if (sb.length() &gt; 0) {
        sb.append(", "); // 手动添加分隔符
    }
    sb.append(fruit);
}
String result = sb.toString(); // 输出:Apple, Banana, Cherry

String.join() 优势

五、注意事项

List<String> list = Arrays.asList("A", null, "B");
String result = list.stream()
    .filter(Objects::nonNull) // 过滤null
    .collect(Collectors.joining(", ")); // 输出:A, B
String result = String.join("", "Hello", "World"); // 输出:HelloWorld

总结:常用场景

需求描述代码示例输出结果
简单拼接(逗号分隔)String.join(", ", "A", "B", "C")A, B, C
带前缀后缀Collectors.joining(", ", "List: [", "]")List: [A, B, C]
处理数字集合Arrays.stream(numbers).mapToObj(String::valueOf).collect(Collectors.joining("-"))1-2-3-4-5
空集合处理Collectors.joining(", ", "Empty: [", "]")(空集合)Empty: []

合理使用 String.join() 可以大幅简化字符串拼接逻辑,尤其在处理集合或需要统一分隔符的场景中效率显著。

到此这篇关于Java中String.join()高效字符串拼接的实现的文章就介绍到这了,更多相关Java String.join()字符串拼接内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文