java吧 关注:1,251,642贴子:12,738,617
  • 49回复贴,共1

有没有懂Java8 stream的大哥啊!在图1中,我调用了

只看楼主收藏回复

有没有懂Java8 stream的大哥啊!在图1中,我调用了map方法,图2为map方法的实现,并没有看到对传进来的mapper参数进行赋值什么的操作,那么为什么图1中返回的流b有mapper属性啊?没搞懂怎么把形参mapper存储起来的。求指教


IP属地:湖北来自iPhone客户端1楼2020-05-26 23:32回复
    顶一手


    IP属地:湖北来自iPhone客户端2楼2020-05-26 23:33
    收起回复


      IP属地:湖北来自iPhone客户端3楼2020-05-26 23:35
      回复
        顶顶顶


        IP属地:湖北来自iPhone客户端4楼2020-05-26 23:39
        收起回复
          Stream不可重用
          流的处理是惰性的(换而言之就是你只是把mapper 传进流里,只有在流真正消费的时候,所有操作才会执行,一个流只执行一次[除了peek])


          IP属地:浙江来自Android客户端5楼2020-05-26 23:43
          回复
            一般真正消费是在forEach (consumer)或者Collect ( Collector )才会消费流,之前的操作才会被执行


            IP属地:浙江来自Android客户端6楼2020-05-26 23:45
            回复


              IP属地:浙江来自Android客户端7楼2020-05-26 23:47
              回复
                再通俗讲,你只是告诉流要怎么做,但真正做这些行为是在流被消费的时候。流被重复消费会抛出Exception


                IP属地:浙江来自Android客户端8楼2020-05-26 23:48
                收起回复
                  你可以在每个流后面跟个peek ( System . out :: println ),可以打印


                  IP属地:浙江来自Android客户端9楼2020-05-26 23:51
                  回复
                    最近比较膨胀








                    IP属地:浙江来自Android客户端10楼2020-05-27 12:24
                    收起回复
                      今天刚刚解决一个redis哨兵模式导致的问题(我同事研究一晚上,早上我一来看就看穿了本质)


                      IP属地:浙江来自Android客户端11楼2020-05-27 12:26
                      收起回复
                        天下博客一大抄


                        IP属地:浙江来自Android客户端12楼2020-05-27 13:04
                        回复