gpt4 book ai didi

java - 既然我们已经有了 StringBuilder,为什么还要使用 StringJoiner?

转载 作者:IT老高 更新时间:2023-10-28 20:29:46 26 4
gpt4 key购买 nike

我最近遇到了一个 Java 8 类 StringJoiner它使用分隔符添加字符串并为其添加前缀和后缀,但我无法理解此类的需要,因为它也使用 StringBuilder在后端,还执行非常简单的附加字符串操作。

我是不是因为没有真正理解这门课的真正目的而错过了什么?

最佳答案

当您需要在 Stream 中加入字符串时,

StringJoiner 非常有用。

例如,如果您必须遵循字符串列表:

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),当时还没有这些解决方案。但是用例还是一样的。

关于java - 既然我们已经有了 StringBuilder,为什么还要使用 StringJoiner?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27522563/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com