有一个默认的方法andThen()
在BiFunction
接口(java.util.function
包)。
default <V> BiFunction<T,U,V> andThen(Function<? super R,? extends V> after)
该文件说:
返回一个组合函数,该函数首先将此函数应用于其输入,然后将after函数应用于结果。如果对任一函数的求值抛出异常,则将其中继到组合函数的调用方。
理解解释的含义几乎没有什么困惑。据我了解,andThen()
调用默认方法时将返回一个组合函数。该组合函数在类型上调用,T
并U
返回类型V
。最后,after
在类型R
和上调用了和函数V
。
这种方法有什么需要?它实际上如何适合图片?
理解解释的含义几乎没有什么困惑。
为了尽可能简单地解释它,该方法andThen
返回一个函数,该函数首先将给定函数应用于输入,然后将另一个函数应用于该应用程序的结果。
假设我们有两个函数f
和g
,功能f
做一些逻辑和功能g
做一些其他类型的逻辑的,所以当你撰写f.andThen(g)
这基本上意味着g(f(x))
,即我们先申请给出参数的函数f(x)
,然后应用功能g
的结果。
例:
BiFunction<Integer, Integer, Integer> f = Math::addExact;
Function<Integer, Integer> g = e -> e * 2;
System.out.println(f.andThen(g).apply(10,10)); // 40
我们首先调用函数f(10, 10)
,然后取其结果20
,并将其传递给函数,然后通过产生g(20)
乘积20
来执行。2
40
说实话的语法来调用一个函数Java
是不是最好的就可以,所以我可以理解,当有人看起来在这个第一次,可能是难以把握和变得更难跟着你撰写的功能越多,例如C#
一个可以简单地做到g(f(10, 10))
这一点,在视觉上更容易理解,阅读和理解。
这种方法有什么需要?它实际上如何适合图片?
以我的经验,像上面那样构成函数并不常见,但是我可以想象的一个典型场景是,如果您有各种实用程序方法执行某种逻辑,其中一个函数的结果进一步传递给其他函数进行处理,在这种情况下,您可以通过组合实用程序方法来使用函数组合来创建各种转换管道。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句