java - 如何使用 Java 8 和 StringJoiner 连接列表中的两个字段?

标签 java string java-8

我有课:

public class Item {

   private String first;
   private String second;

   public Item(String first, String second) {
       this.first = first;
       this.second = second;
   }
}

以及此类对象的列表:

List<Item> items = asList(new Item("One", "Two"), new Item("Three", "Four"));

我的目标是加入元素列表以构建以下字符串:

One: Two; Three: Four;

我试过使用 StringJoiner,但看起来它是为处理一些简单类型的列表而设计的。

最佳答案

你可以尝试这样的事情:

final String result = items.stream()
        .map(item -> String.format("%s: %s", item.first, item.second))
        .collect(Collectors.joining("; "));

作为assylias在下面的评论中提到,最后一个 ; 使用此结构将被遗漏。它可以手动添加到最终的字符串中,或​​者您可以简单地尝试 assylias 建议的解决方案。

关于java - 如何使用 Java 8 和 StringJoiner 连接列表中的两个字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47995882/

相关文章:

sql - 将一个 SQL 字符串拆分为多个字符串

mysql - 在 MATLAB 中将查询中的字符串传递给 MySQL 数据库

java - java 8 中的并行流与 Completablefuture

java - 如何在 Alfresco Activiti 中配置电子邮件服务器?

java - Mockito 在简单测试中抛出 OutOfMemoryError

java - 在 Java 中将 File[] 转换为 String[]

java - 标记上的语法错误、lambda 表达式的构造错误

java - 如何将 Java 8 与 MS Access 连接?

java - 在 Spring Batch Flatfile Reader 中跳过页脚和页眉记录

java - 打印包含继承成员的数组?