Java8中的常用函數式接口及例子


Java 8中的常用函數式接口 
函數式接口 函數描述符 原始類型特化
 Predicate<T>  T->boolean IntPredicate,LongPredicate, DoublePredicate
 Consumer<T>  T->void  IntConsumer,LongConsumer, DoubleConsumer
 Function<T,R>  T->R  IntFunction,
     IntToDoubleFunction,
     IntToLongFunction,
     LongFunction, 
     LongToDoubleFunction,
     LongToIntFunction,
     DoubleFunction, 
     ToIntFunction, 
     ToDoubleFunction, 
     ToLongFunction
 Supplier<T>  ()->T  BooleanSupplier,IntSupplier, LongSupplier,
     DoubleSupplier
 UnaryOperator<T>  T->T  IntUnaryOperator,
     LongUnaryOperator,
     DoubleUnaryOperator
 BinaryOperator<T>  (T,T)->T  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>

 

補充:

Lambdas及函數式接口的例子
使用案例 Lambda 的例子 對應的函數式接口
布爾表達式 (List list) -> list.isEmpty()  Predicate<list> 
創建對象 () -> new Apple(10) Supplier<Apple>
消費一個對象 (Apple a) -> System.out.println(a.getWeight()) Consumer<Apple>
從一個對象中 選擇/提取 (String s) -> s.length() Function<string, integer="">或 ToIntFunction
合並兩個值 (int a, int b) -> a * b IntBinaryOperator
比較兩個對象 (Apple a1, Apple a2) -> a1.getWeight().compareTo(a2.getWeight()) Comparator或 BiFunction<apple, apple,="" integer=""> 或 ToIntBiFunction<apple, apple="">


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM