在本文中,我们介绍了用于连接字符串的新 Java 8 API。 Java 多年来缺乏用于简单字符串连接的 API。 在 Java 8 中,引入了StringJoiner
。
StringJoiner 用于构造由定界符分隔的字符序列,并可选地以提供的前缀开始并以提供的后缀结束。
StringJoiner
也由String
类的join()
方法在内部使用。
使用StringJoiner
下面的示例将数字与StringJoiner
类相连。
Java8StringJoinEx.java
该示例连接了五个数字,并将最终字符串输出到控制台。
将创建StringJoiner
类的新实例。 逗号字符用作分隔符。
add()
方法添加了五个值。
StringJoiner
转换为字符串并打印到控制台。
这是示例的输出。
String.join()
方法
在第二个示例中,我们使用String.join()
方法连接字符串。
Java8StringJoinEx2.java
String.join()
方法在内部使用StringJoiner
。
日期与String.join()
方法连接在一起。
This is the output of the example.
连接列表
第三个示例连接列表的元素。
Java8StringJoinEx3.java
可以将列表作为参数传递给String.join()
方法。
列表中的元素以单个空格字符连接。
列表中的元素被连接起来以创建一个句子。
读取 CSV 文件
以下示例从 CSV 文件中读取数字,然后将其与StringJoiner
结合在一起。 我们使用 Gradle 构建工具构建示例。
该示例具有他的项目结构。 我们将要读取的数字位于resources
目录中。
build.gradle
这是 Gradle 构建文件。
numbers.csv
这是numbers.csv
文件。
Java8StringJoinEx4.java
该示例读取包含数字的 CSV 文件,并使用其他定界符将它们与StringJoiner
结合在一起。
使用Scanner
类读取值。 数字之间用逗号分隔,因此我们使用useDelimiter()
方法设置逗号分隔符。
StringJoiner
类用“ |”实例化。 定界符。
我们使用扫描器检索值并将其与连接器连接。
我们使用gradle build
命令构建项目。
我们使用gradle run
命令运行该应用。 最后一行是我们应用的输出。
编写 CSV 文件
下一个示例将数字写入 CSV 文件。
该示例具有他的项目结构。 我们将在当前工作目录中创建一个新文件。
build.gradle
This is the Gradle build file.
Java8StringJoinEx5.java
该示例将五个数字与StringJoiner
结合在一起,然后将所包含的字符串写入 CSV 文件。
五个数字与StringJoiner
连接在一起。 数字用逗号分隔。
在当前工作目录中创建一个新的文件对象。
A new file object is created in the current working directory.
合并的值将写入文件。
我们构建并运行该应用。
我们显示创建文件的内容。
Collectors.joining()
Java 8 还在新的流 API 中引入了Collectors.joining()
方法。 该方法返回一个Collector
,它按遇到顺序连接由指定定界符分隔的输入元素。
Java8CollectorJoiningEx.java
该示例使用流 API 连接三个名称。
This is the output of the example.
在本文中,我们使用了 Java 8 中引入的新类StringJoiner
。我们还添加了一个小示例,显示了来自流 API 的新Collectors.joining()
。