Java学习笔记之Function方法

编程知识 行业动态 更新时间:2024-06-13 00:22:05

定义:JDK1.8中的新特性,表示接受一个参数并生成结果的函数。
其中:T 为输入的类型。R为函数结果的类型。
下面看该接口中的每一个方法:

  1. R apply(T t);核心方法,把T转换成R返回。

  2. default Function<V, R> compose(Function<? super V, ? extends T> before){},此方法的官方解释为:

    返回首先将{@code before}函数应用于其输入的组合函数,然后将此函数应用于结果。 如果对任一函数的求值抛出异常,则将其转发给组合函数的调用者。

    看了之后一脸懵,然后看代码具体逻辑,首先对before进行了NonNull验证,然后返回一个组合函数,函数首先用before调用apply函数,把V转换成T,然后重新创建一个Function,传入T转换成R。我个人的理解就是如果有复杂的多种类型转换,就调用这个函数。如果仅转换两次,可以直接调用此方法,如果超过两次,需要重写。规定A:如果before为null,抛出NullPointerException。

  3. default Function<T, V> andThen(Function<? super R, ? extends V> after){}:和compose方法差不多,区别就是,andthen的after的apply方法接收的参数是一个组合,而compose方法是before先调用一次apply,转换的结果传给组合。

  4. static Function<T, T> identity():一个总是返回其输入参数的函数。

更多推荐

Java学习笔记之Function方法

本文发布于:2023-04-01 16:41:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/efb02a4885d4036686b0a83b67b3e8ae.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:学习笔记   方法   Java   Function

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!