【问题标题】:Java 8 Map and Reduce doesnt runJava 8 Map 和 Reduce 不运行
【发布时间】:2013-02-01 23:58:45
【问题描述】:

我正在使用 Project Lambdas 的 .map() 方法从 List 对象中提取一些数据。之前,Jdk 1.8 包含 Mapper 接口,但现在,我看到它的 map 方法获取 Function 接口。我的方法用法如下:

 List<Nut> nutList =new ArrayList<Nut>();

我在 nutList 中添加了一些项目,我使用下面的方法通过 getter 提取字段值。

nutList.stream().map(n->n.getShell())

但是上面的 n 参数表现得像一个对象,它不访问原始对象的方法。此用法通常使用 Mapper 功能接口运行。

【问题讨论】:

  • 应该可以。如果你写map(Nut::getShell)
  • @LouisWasserman 这纯粹是 FUD(而且完全错误),对发帖者来说根本没有用。你为什么不解决这个问题呢?

标签: java lambda java-8 openjdk


【解决方案1】:

b75下,以下代码编译运行正常:

    List<Nut> nutList =new ArrayList<>();
    nutList.stream().map(n -> n.getShell()).forEach(System.out::print);

也许您使用的是旧版本?

【讨论】:

  • 谢谢,但我正在使用 b75 Maurice。
  • 那很奇怪;我发布的代码为我编译和运行。检查一下,如果仍然失败,请发布确切的错误消息。
猜你喜欢
  • 1970-01-01
  • 2015-08-29
  • 2018-11-16
  • 2015-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-07
  • 2014-10-07
相关资源
最近更新 更多