【问题标题】:How to pass parameter in Stream.map method如何在 Stream.map 方法中传递参数
【发布时间】:2017-04-07 11:04:06
【问题描述】:

以下语句是什么意思:

String joined = elements.stream()
  .map(Object::toString)
  .collect(Collectors.joining(", "));

据我了解,Stream.map 接受 Function 类型的参数。 我不明白Object::toString 是如何传递的以及它是如何工作的?

谢谢。

【问题讨论】:

  • Object::toString 是方法参考
  • 这里是element -> element.toString()的简写
  • 请不要仅仅因为作者是 Java 新手就否决这个问题。这个问题看起来完全正确。
  • @ZhekaKozlov 我怀疑投反对票是因为缺乏研究。您可以通过搜索Object::toString轻松找到有关此的教程和相关问题

标签: java collections java-8 java-stream


【解决方案1】:

Object::toString 是如何传递的以及它是如何工作的?

它被称为方法参考,您在其中告诉将现有的toString 方法定义(来自Object 类)用于map 方法,而不是您在 map 方法中显式调用 obj -> obj.toString()

我建议您查看here 并了解Java8 中方法引用的工作原理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-11
    • 1970-01-01
    • 2020-05-21
    • 1970-01-01
    • 2015-01-29
    相关资源
    最近更新 更多