V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ShinKu
V2EX  ›  Java

Java Function 相关

  •  
  •   ShinKu · 2019-07-15 20:59:41 +08:00 · 2388 次点击
    这是一个创建于 1739 天前的主题,其中的信息可能已经有所发展或是发生改变。
    主方法:returnValue = method(streams, this::funtion1, this::funtion2, this::funtion3);

    method 实现:
    method (Stream streams, Function<Stream<?>, Stream<?>>... functions) {
    return Arrays.stream(functions).reduce(Function::andThen).get().apply(streams);
    }

    目前想在 function3 内多加一个 int 参数,问下该如何实现
    Function<Stream<?>, Integer, Stream<?>> 是这样写吗
    虽然直接把 function3 独立出来也可以,但总觉得破坏了大佬代码。。。
    来这里咨询一下
    4 条回复    2019-07-25 12:48:56 +08:00
    secondwtq
        1
    secondwtq  
       2019-07-15 21:09:38 +08:00 via iPad
    不熟悉 Java,不过你这个参数可以加在重载函数上
    zzl22100048
        2
    zzl22100048  
       2019-07-15 21:33:03 +08:00   ❤️ 1
    funtion 代表函数,一个输入一个输出,bifuntion 两个输入一个输出
    qwerthhusn
        3
    qwerthhusn  
       2019-07-15 22:23:04 +08:00
    一顿操作猛如虎,其实逻辑很简单,如果一串流挨排经过 function1 function2 function3。我怀疑你口中的大佬只是在炫技罢了。
    具体逻辑不清楚也不知道该怎么改,不过能告诉你的就是那个一行代码的方法的逻辑就是上面说的那样
    wsxyeah
        4
    wsxyeah  
       2019-07-25 12:48:56 +08:00 via iPhone
    柯里化?
    给 function3 绑定值返回一个新函数,或者你直接写一下重载函数调用 function3 也是一样的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3185 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 75ms · UTC 13:40 · PVG 21:40 · LAX 06:40 · JFK 09:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.