zoukankan      html  css  js  c++  java
  • lambda表达式学习中遇到的坑

    最近在学习使用java8 lambda表达式。根据方法的字面意思,很容易理解和上手运用。

    但最近在使用lambda表达式时遇到了一个问题,代码逻辑没有一点问题,但结果就是不尽如人意。

    先上旧代码:

    testOneList.stream().distinct().filter(item ->

      。。。。。

    ).map(item -> testTwoList.add(new TestTwoModel(item,.....)));

    我开始怀疑我是不是运用错方法了,难道这个方法不能如此使用?没道理呀。上网查了许久,不断的测试调试,都没发现问题所在。

    最后请求了大神,方明白错误所在。改成:

    testOneList.stream().distinct().filter(item ->

      。。。。。

    ).forEach(item -> testTwoList.add(new TestTwoModel(item,.....)));

    map本身不是个结束点,放在最后是会被忽略的,要改成 forEach 或者后面加个 collect 才会起作用。

  • 相关阅读:
    SpringMVC的 @RestController和@Controller 区别
    Explain的使用
    spring定时任务详解
    C++提高---模板
    小练习--感悟点
    06文件操作
    05多态
    04继承
    Mismatch between array dtype ('<U18') and format specifier ('%.18e')
    01基础
  • 原文地址:https://www.cnblogs.com/tu-emily/p/11820731.html
Copyright © 2011-2022 走看看