美文网首页
java8-Lambda(2)

java8-Lambda(2)

作者: 表象_Dark | 来源:发表于2017-12-11 18:45 被阅读0次

    在 java.util.function 包中Java 内置了部分函数接口,以下为该函数接口的功能说明。

    • Java 8自带一些常用的函数式接口,放在java.util.function包里,包括Predicate
      <T>、Function<T,R>、Supplier<T>、Consumer<T>和BinaryOperator<T>

    • 为了避免装箱操作,对Predicate<T>和Function<T, R>等通用函数式接口的原始类型
      特化:IntPredicate、IntToLongFunction等。

    • supplier 提供者,

    • consumer 消费者,

    • function 函数,

    • operation 运算符,

    • binary 二元(就是数学里二元一次方程那个二元,代表2个的意思),双重的。

    • Predicate<T>
    T->boolean 
    T 作为输入,返回的boolean值作为输出,代表一个参数谓词(布尔值函数)。
    
    + IntPredicate
    + LongPredicate
    + DoublePredicate
    
    • Consumer<T>
    T->void
    T作为输入,执行某种动作但没有返回值,表示接受一个输入参数和不返回结果的操作。
    
    + IntConsumer
    + LongConsumer
    + DoubleConsumer
    
    • Function<T,R>
    T->R  T作为输入,返回的R作为输出。表示接受一个参数,并产生一个结果的函数。
    
    + IntFunction<R>  表示接受一个int 值参数,并产生一个R 类型的函数。
    + IntToDoubleFunction  表示接受int值参数,并产生一个double值结果的函数。
    + IntToLongFunction
    + LongFunction<R>
    + LongToDoubleFunction 
    + LongToIntFunction
    + DoubleFunction<R> 
    + ToIntFunction<T>
    + ToDoubleFunction<T>
    + ToLongFunction<T>
    
    • Supplier<T>
    () -> T  没有任何输入,返回T。表示一个提供者的结果。
    
    + BooleanSupplier
    + IntSupplier
    + LongSupplier
    + DoubleSupplier
    
    • UnaryOperator<T>
    T->T  表示上产生相同类型的操作数的结果的单个操作数的操作。
    + IntUnaryOperator
    + LongUnaryOperator
    + DoubleUnaryOperator
    
    • BinaryOperator<T>
    (T,T)->T -两个T作为输入,返回一个T作为输出,对于“reduce”操作很有用,表示在相同类型的两个操作数的操作,生产相同类型的操作数的结果。
    
    + IntBinaryOperator,
    + LongBinaryOperator,
    + DoubleBinaryOperator
    
    • BiPredicate<L,R>
    (L,R)->boolean
    代表两个参数谓词(布尔值函数)。
    
    • BiConsumer<T,U>
    (T,U)->void
    + ObjIntConsumer<T>
    + ObjLongConsumer<T>
    + ObjDoubleConsumer<T>
    
    • BiFunction<T,U,R>
    (T,U)->R
    + ToIntBiFunction<T,U>
    + ToLongBiFunction<T,U>
    + ToDoubleBiFunction<T,U>
    

    相关文章

      网友评论

          本文标题:java8-Lambda(2)

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