我使用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参数上面的行为类似于Object,它不能访问原始对象的方法。这种用法通常使用Mapper Functional接口运行。
答案 0 :(得分:1)
在b75下,以下代码编译并正确运行:
List<Nut> nutList =new ArrayList<>();
nutList.stream().map(n -> n.getShell()).forEach(System.out::print);
也许您使用的是旧版本?