Java Function 相关

2019-07-15 20:59:41 +08:00
 ShinKu
主方法: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 独立出来也可以,但总觉得破坏了大佬代码。。。
来这里咨询一下
2396 次点击
所在节点    Java
4 条回复
secondwtq
2019-07-15 21:09:38 +08:00
不熟悉 Java,不过你这个参数可以加在重载函数上
zzl22100048
2019-07-15 21:33:03 +08:00
funtion 代表函数,一个输入一个输出,bifuntion 两个输入一个输出
qwerthhusn
2019-07-15 22:23:04 +08:00
一顿操作猛如虎,其实逻辑很简单,如果一串流挨排经过 function1 function2 function3。我怀疑你口中的大佬只是在炫技罢了。
具体逻辑不清楚也不知道该怎么改,不过能告诉你的就是那个一行代码的方法的逻辑就是上面说的那样
wsxyeah
2019-07-25 12:48:56 +08:00
柯里化?
给 function3 绑定值返回一个新函数,或者你直接写一下重载函数调用 function3 也是一样的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/583221

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX