我最近遇到了一个 Java 8 类StringJoiner https://docs.oracle.com/javase/8/docs/api/java/util/StringJoiner.html它使用分隔符添加字符串并向其添加前缀和后缀,但我无法理解此类的需要,因为它也使用StringBuilder https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html在后端,还执行附加字符串的非常简单的操作。
我是否因为没有真正理解这门课的真正目的而错过了一些东西?
StringJoiner
当您需要将字符串连接到一个中时非常有用Stream
.
例如,如果您必须遵循字符串列表:
final List<String> strings = Arrays.asList("Foo", "Bar", "Baz");
使用起来更加简单
final String collectJoin = strings.stream().collect(Collectors.joining(", "));
就像一个StringBuilder
:
final String collectBuilder =
strings.stream().collect(Collector.of(StringBuilder::new,
(stringBuilder, str) -> stringBuilder.append(str).append(", "),
StringBuilder::append,
StringBuilder::toString));
6年后编辑正如评论中指出的,现在有更简单的解决方案,例如String.join(", ", strings)
,当时还没有。但用例仍然相同。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)