文
章
目
录
章
目
录
这个教程包含了Java示例,用于将字符串数组连接或串联起来,以使用逗号分隔符生成单个字符串,其中项目将由给定的分隔符分隔。这段代码可以用于在Java中将数组转换为逗号分隔的字符串。
在开发过程中,特别是在解析JSON或XML文件的内容时,我们可能会经常需要这些信息。
1.Java 8 – 使用String.join()
String.join()方法有两种重载形式。
第一个版本将多个字符串文字作为var-args提供并连接起来。 第二个版本连接提供的字符串列表或数组。 请注意,如果元素为null,则将”null”添加到连接的字符串中。
static String join(CharSequence delimiter, CharSequence... elements)
static String join(CharSequence delimiter, Iterable<? extends CharSequence> elements)
1.1. 连接字符串文字
这个方法采用var-args格式中的所有字符串,所有字符串都作为方法的参数传递。返回的字符串是通过附加由参数分隔的所有字符串来接收的。
这个方法可以连接多个尚未以集合或数组形式存在的字符串文字。
String joinedString = String.join(",", "How", "To", "Do", "In", "Java"); //How,To,Do,In,Java
1.2. 连接字符串数组或字符串列表
我们可以使用这个方法来连接数组中的字符串项,以生成一个连接的字符串。
String[] strArray = { "How", "To", "Do", "In", "Java" };
String joinedString = String.join(",", strArray); //How,To,Do,In,Java
2.Java 8 – 使用StringJoiner进行格式化输出
使用StringJoiner类,我们可以生成连接的字符串的格式化输出。这在使用Lambda收集器时特别有用。
2.1. 方法语法 构造函数接受三个参数 – 分隔符[必需],以及可选的前缀和后缀。
StringJoiner(CharSequence delimiter)
StringJoiner(CharSequence delimiter, CharSequence prefix, CharSequence suffix)
2.2. StringJoiner示例
运行与上面示例类似的输入示例以连接多个字符串。如果我们想要将输出格式化为[How, To, Do, In, Java],那么可以使用以下代码:
StringJoiner joiner = new StringJoiner("," ,"[", "]");
String joinedString = joiner.add("How")
.add("To")
.add("Do")
.add("In")
.add("Java")
.toString();
System.out.println(joinedString); //[How,To,Do,In,Java]
3.Java 8 – 使用Collectors.joining()来处理流
在使用Lambda表达式时,我们可以使用Collectors.joining()来将列表项收集到一个字符串中。
List<String> tokens = Arrays.asList("How", "To", "Do", "In", "Java");
String joinedString = tokens.stream()
.collect(Collectors.joining(",", "[", "]"));
System.out.println(joinedString); //[How,To,Do,In,Java]
4.Apache Commons – 使用StringUtils.join()
Apache Commons Langs库的StringUtils类具有多个join()方法,可用于将字符串数组或列表组合成单个字符串。
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
</dependency>
请参阅给出的示例。
- 在第一个示例中,我们使用空分隔符连接字符串数组。
- 在第二个示例中,我们使用逗号分隔符连接字符串数组。
String[] strArray = { "How", "To", "Do", "In", "Java" };
String joinedString = StringUtils.join(strArray);
System.out.println(joinedString); //HowToDoInJava
String joinedString2 = StringUtils.join(strArray, ",");
System.out.println(joinedString2); //How,To,Do,In,Java
使用上面给出的示例在 Java 中使用逗号或任何其他分隔符连接字符串。