StringUtils.join()或String.join()解决将元素拼接成字符串并用用指定符合间隔的问题

1、概述

大家好,我是欧阳方超。
我们可能经常遇到这样的场景,将数组或列表中的元素使用指定的间隔符(比如逗号)拼接成字符串,如,拼接成a, b, c。通常的做法就是使用循环实现嘛,逐个遍历元素,在元素后不断地追加拼接字符,由于循环的最后一遍也会追加拼接字符,所以,需要截掉最后一个字符,既然这类问题这么常见,有没有什么优雅的解决方式呢,当然是有的,今天就来看一下。

2、两种方式

2.1、使用StringUtils.join() 实现

StringUtils.join() 是 Apache Commons Lang 库中的一个方法,用于将一个数组、集合或迭代器中的元素连接成一个字符串,并以指定的分隔符分隔它们。它的pom依赖为:


        commons-lang
        commons-lang
        xxx

方法签名:

public static String join(Object[] array, String separator)

参数:
array:要连接的数组,可以是任何类型的数组,比如字符串数组、整数数组等。
separator:连接数组元素时要使用的分隔符,可以是任何字符串。
返回值:
返回一个包含数组元素的字符串,使用指定的分隔符将它们连接在一起。
例如,以下示例将一个字符串数组中的元素使用逗号作为分隔符连接在一起:

String[] array = {"apple", "banana", "cherry"};
String result = StringUtils.join(array, ",");
System.out.println(result);

输出:

apple,banana,cherry

StringUtils.join 方法在处理数组、集合或迭代器时非常方便,可以用于将元素连接成字符串,在数据库查询中构建动态SQL语句等场景中都可以使用。

2.2、使用String.join()实现

String.join()是Java标准库中的一个静态方法,用于将一个字符串数组、集合或流中的元素连接成一个字符串,并以指定的分隔符分隔它们。
方法签名:

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

参数:
delimiter:连接元素时要使用的分隔符,可以是任何字符序列,比如字符串、字符等。
elements:要连接的元素,可以是字符串数组、集合或流中的元素。
返回值:
返回一个包含元素的字符串,使用指定的分隔符将它们连接在一起。
例如,以下示例将一个字符串数组中的元素使用逗号作为分隔符连接在一起:

String[] array = {"apple", "banana", "cherry"};
String result = String.join(",", array);
System.out.println(result);

输出:

apple,banana,cherry

String.join()方法是 Java 8 引入的,并且在处理字符串数组、集合或流时非常方便,可以用于将元素连接成字符串,方法是 Java 标准库中的原生方法,无需导入额外的依赖。

3、总结

在 Java 8 及以上版本的项目中,推荐优先使用 String.join,因为它是 Java 标准库中的原生方法,无需导入额外的依赖,并且对于 null 值有更严格的处理。而在已引入 Apache Commons Lang 库、或需要处理 null 值并将其视为空字符串的情况下,可以考虑使用 StringUtils.join。
我是欧阳方超,把事情做好了自然就有兴趣了,如果你喜欢我的文章,欢迎点赞、转发、评论加关注。下回见。

你可能感兴趣的:(java,开发语言)