JAVA8:将对象列表映射到String [] [重复]

Posted

技术标签:

【中文标题】JAVA8:将对象列表映射到String [] [重复]【英文标题】:JAVA8: Map list of objects to String[] [duplicate] 【发布时间】:2018-03-25 12:20:46 【问题描述】:

我有一个“客户”对象列表,每个对象都有一个“电子邮件”字段。

我需要类似的东西:

List<String> listEmails = clients.stream().map(client->client.getEmail())
                                               .collect(Collectors.toList());

...但直接返回String[]

有没有使用 Java 8 流将 List&lt;Client&gt; 映射到 String[] listEmails 的正确方法?

【问题讨论】:

遍历列表并将电子邮件存储在字符串数组中 如果可以的话我想直接获取String[] 【参考方案1】:

当然:

String[] result = clients
  .stream()
  .map(client->client.getEmail())
  .toArray(String[]::new)

【讨论】:

感谢您简洁明了的回答!我不知道 .toArray(String[]::new) 技巧。

以上是关于JAVA8:将对象列表映射到String [] [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Java 8 流:迭代列表映射

通过流将带有列表的列表对象转换为Java 8中的映射[重复]

如何将列表值映射到新对象属性

Java 8 Stream 函数将字谜列表分组为列表映射

Java 8 Streams:根据不同的属性多次映射同一个对象

将 Stream 映射到包含 Total 的对象列表