ShinKu
V2EX  ›  Java

Java Function 相关

By ShinKu at 2019 年 7 月 15 日 · 3016 次点击
主方法: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 年 7 月 15 日 via iPad
不熟悉 Java,不过你这个参数可以加在重载函数上
zzl22100048
   2
zzl22100048  
   2019 年 7 月 15 日   ❤️ 1
funtion 代表函数,一个输入一个输出,bifuntion 两个输入一个输出
qwerthhusn
   3
qwerthhusn  
   2019 年 7 月 15 日
一顿操作猛如虎,其实逻辑很简单,如果一串流挨排经过 function1 function2 function3。我怀疑你口中的大佬只是在炫技罢了。
具体逻辑不清楚也不知道该怎么改,不过能告诉你的就是那个一行代码的方法的逻辑就是上面说的那样
wsxyeah
   4
wsxyeah  
   2019 年 7 月 25 日 via iPhone
柯里化?
给 function3 绑定值返回一个新函数,或者你直接写一下重载函数调用 function3 也是一样的。
© 2026 V2EX · 23ms · 3.9.8.5