扫码阅读
手机扫码阅读

WebFlux 前置知识(二)

9 2024-11-06

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

查看原文:WebFlux 前置知识(二)
文章来源:
江南一点雨
扫码关注公众号
Spring Boot 教程摘要

松哥 Spring Boot 视频教程与送书活动

松哥完成了原创的 Spring Boot 视频教程,感兴趣者可查看。上周送书活动中,留言超过300条,但限于微信规定,仅选了100条。虽然不是每个人都能得到书,松哥已认真阅读所有留言,并考虑下次改为抽奖方式。

函数式编程知识点

继上篇文章的 Lambda 表达式和函数接口讨论,本篇将介绍方法引用、变量引用、类型推断和级联表达式四个概念,作为学习 WebFlux 的前置知识点。

1. 方法引用

方法引用是 Lambda 表达式的一种,使用 "::" 操作符。它用来简化代码,提高可读性,可用于访问类、实例已存在的方法和构造方法。

1.1. 四种方法引用

  • 静态方法引用:直接通过类名引用静态方法,如 Function func = String::valueOf; 替换 a -> String.valueOf(a);
  • 实例方法引用:通过实例名引用方法,如 Consumer consumer = System.out::println; 替换 s -> System.out.println(s);
  • 构造方法引用:引用构造方法创建对象,如 Supplier supplier = Cat::new; 替换 () -> new Cat();
  • 数组构造方法引用:引用数组构造方法,如 IntFunction func = int[]::new; 替换 (i) -> new int[i];

2. 变量引用

在使用 Lambda 表达式时,外部定义的变量需是 final 类型或事实上的 final,以便在内部类中使用。

3. 类型推断

Lambda 表达式通常能自动推断出类型,但在方法重载等特定情况下可能需要显式类型转换。

4. 级联表达式

Lambda 表达式可根据需求编写多层级联形式,如 Function func = x -> y -> z -> x + y + z;

参考资料

  • https://blog.csdn.net/sun_promise/article/details/51190256
  • https://www.jianshu.com/p/4a3da6a11b58

想要了解更多内容?

查看原文:WebFlux 前置知识(二)
文章来源:
江南一点雨
扫码关注公众号