zoukankan      html  css  js  c++  java
  • 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="">
  • 相关阅读:
    [转]SQL Server 索引结构及其使用一
    平台无关的RICHTEXT实现
    谈谈时间管理陶哲轩
    BigNumCalculator
    关于构造和析构的几点拟人化思考
    ScaleForm十六戒言
    VAX对多种格式增加支持
    关于知识,经验,能力
    AutoTidyMyFiles
    王石语摘
  • 原文地址:https://www.cnblogs.com/sueyyyy/p/12100732.html
Copyright © 2011-2022 走看看