美文网首页
java.util.funcion包的相关类

java.util.funcion包的相关类

作者: xdlkc | 来源:发表于2017-06-16 17:16 被阅读12次
    • 穿插说一下,java8中关于接口修改了某些要求,比如接口可以实现某些方法的代码,但是同时要求声明方法为default

    • Consumer接口

      • Consumer用来做什么?
        Consumer接收单个参数,并且没有返回值,主要是通过函数来执行一些带有副作用(设置属性)的操作.

      • 方法:
        // 接收某个对象之后执行操作
        void accept(T t);
        // 先执行当前的accept,再执行after的accept
        default Consumer<T> andThen(Consumer<? super T> after)

    • Predicate接口

      • Predicate用来做什么?
        判断输入的对象是否满足某个条件
      • 方法:
        // 判断输入对象是否满足设定的判断条件
        boolean test(T t);
        // 返回两个判断条件相与后的判断条件
        default Predicate<T> and(Predicate<? super T> other)
        // 返回判断条件的否定式
        default Predicate<T> negate()
        // 返回两个判断条件相或后的判断条件
        default Predicate<T> or(Predicate<? super T> other)
        static <T> Predicate<T> isEqual(Object targetRef)
    • Function接口

      • Function用来做什么?
        Funcion接口通过构造一个输入函数,输出函数的对象,来实现一个在内部计算函数的过程的接口.
      • 方法:
        // 给定输入参数,通过Function对象计算输出值
        R apply(T t)
        // 先执行当前funtion对象的apply方法,再执行after对象的apply方法
        default <V> Function<Integer, V> andThen(Function<? super Integer, ? extends V> after)
        // 先执行before对象的apply方法,再执行当前对象的apply方法
        public <V> Function<V, Integer> compose(Function<? super V, ? extends Integer> before)
        // 返回一个只会返回输入参数的function对象
        static <T> Function<T, T> identity()
    • 为什么会出现function包?
      function包是java的函数式编程相关接口,主要提供了不修改内部状态,只用来计算或执行一些操作的方法,所以function包能较好地解决多线程之间的锁及并发存在的一些问题.

    相关文章

      网友评论

          本文标题:java.util.funcion包的相关类

          本文链接:https://www.haomeiwen.com/subject/bhemqxtx.html