美文网首页
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