为了账号安全,请及时绑定邮箱和手机立即绑定
首页 手记 【金秋打卡】第23天-Java函数式编程-特点

【金秋打卡】第23天-Java函数式编程-特点

2022.11.15 22:19 79浏览

课程内容

  • 纯函数
    • 函数的执行没有副作用
    • 返回值仅依赖于输入参数
  • 高阶函数
    • 函数的参数可以是一个或多个函数
    • 函数的返回值也可以是一个函数
  • Lambda表达式
    • 箭头左边是参数列表,右边是函数体
    • 方法引用class::method
  • Java函数式接口
    • 有且仅有一个未实现的非静态方法的接口叫做“函数式接口”
  • 内建的函数式接口
    • Function <Long, Long> = v -> v + 3;
    • Predicate<Object> predicate = v -> v == null;
    • UnaryOperator<User> uo = user -> {user.setName("a"); return user;}
    • BinaryOperator<Long> bo = (a, b) -> a + b;
    • Supplier<Integer> supplier = () -> (int)Math.random(1000D);
    • Consumer<Integer> consumer = v -> log.debug({}, v);
  • 函数的组合
    • and / or
      • Predicate<String> startsWithA = t -> t.startWith("A");
      • Predicate<String> endsWithX = t -> t.endWith("x");
      • Predicate<String> swAandEndx = startWithA.and(endsWithX)
    • compose / andthen
      • Function<Integer, Integer> squareOp = v -> value * value;
      • Function<Integer, Integer> = doubleOp = v -> 2 * value;
      • Function<Integer, Integer> doubleThenSquare = squareOp.compose(doubleOp);

课程收获

这些内容应该都会,但老师一讲发现又都忘记啦,太不应该
函数式编程特点

点击查看更多内容
0人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
9
获赞与收藏
1

关注TA,一起探索更多经验知识

同主题相似文章浏览排行榜

风间影月说签约讲师

51篇手记,涉及Java、MySQL、Redis、Spring等方向

进入讨论

Tony Bai 说签约讲师

151篇手记,涉及Go、C、Java、Python等方向

进入讨论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消