JavaRush /Java 博客 /Random-ZH /在 Java 8 中你可以连接字符串
theGrass
第 24 级
Саратов

在 Java 8 中你可以连接字符串

已在 Random-ZH 群组中发布
我确信您曾经遇到过想要连接多行的情况。如果您不是用 Java 编写的,那么您可能使用了join()编程语言本身提供的功能。如果你用 Java 编写,你就无法做到这一点,原因很简单——这个方法不存在。Java 中的标准类库为您提供了创建 GUI 应用程序、访问数据库、通过网络发送数据、执行 XML 转换或从第三方库调用方法的工具。未包含连接字符串集合的简单方法。为此,您需要众多第三方库之一。 在 Java 8 中,您可以连接字符串 - 1幸运的是,这件事已经结束了!在 Java 8 中我们终于可以连接字符串了!Java 8 添加了一个名为 的新类StringJoiner。顾名思义,我们可以使用此类来连接字符串:
StringJoiner joiner = new StringJoiner(",");
joiner.add("foo");
joiner.add("bar");
joiner.add("baz");
String joined = joiner.toString(); // "foo,bar,baz"

// add() calls can be chained
joined = new StringJoiner("-")
.add("foo")
.add("bar")
.add("baz")
.toString(); // "foo-bar-baz"
String使用两个新的静态方法join() StringJoiner
// join(CharSequence delimiter, CharSequence... elements)
String joined = String.join("/", "2014", "10", "28" ); // "2014/10/28"

// join(CharSequence delimiter, Iterable<? extends CharSequence> elements)
List<String> list = Arrays.asList("foo", "bar", "baz");
joined = String.join(";", list); // «foo;bar;baz"
Collector此外,对于连接字符串,新 API 中 有一个使用流的特殊字符串:
List<Person> list = Arrays.asList(
 new Person("John", "Smith"),
 new Person("Anna", "Martinez"),
 new Person("Paul", "Watson ")
);

String joinedFirstNames = list.stream()
 .map(Person::getFirstName)
 .collect(Collectors.joining(", ")); // "John, Anna, Paul»
这样我们就真的不再需要第三方库来连接字符串了! 来源文章
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION