- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我最近遇到了一个 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/
为了在 Java 应用程序中适应 SQL 模板,我需要按如下方式格式化元素: RIGHT JOIN (values (123), (456), (789).. 特别是,给定一个 Java 整数列表:
我有以下代码: StringJoiner stringJoiner = new StringJoiner(","); List persons = Arrays.asList(new Person("
我有以下方法 public String toIndentedString() { StringJoiner sj = new StringJoiner("\n"); sj.add(r
谁能告诉我 StringJoiner 是否是线程安全的? 我知道 StringBuilder 和 StringBuffer 之间的区别,但找不到有关 StringJoiner 的信息。 最佳答案 不同
我有如下 map 列表: List> someObjectsList = new ArrayList>(); 我将以下数据存储在每个 HashMap 中 key value 2
我最近遇到了一个 Java 8 类 StringJoiner它使用分隔符添加字符串并为其添加前缀和后缀,但我无法理解此类的需要,因为它也使用 StringBuilder在后端,还执行非常简单的附加字符
当我使用这个 gradle 依赖项时出现以下错误: compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.4
我有课: public class Item { private String first; private String second; public Item(String fi
我如何使用 Java 8 流重写它?我还不太熟悉 Java 8 功能。 private final ArrayList ledger = new ArrayList<>(); /** * * @r
我是一名优秀的程序员,十分优秀!