当前位置: 首页 > backend >正文

小白借助ai对全栈进行浅浅理解(学习笔记)-Lambda、Optional 避免空指针与新的日期时间 API

学习顺序:Java 基础 → Spring Boot → Vue → 前后端整合 → 数据库 → 部署 → 进阶实战。

 Lambda 表达式(Lambda 表达式是 Java 8 引入的核心特性,旨在简化函数式编程,替代冗长的匿名内部类,使代码更简洁、灵活 

Lambda 必须与函数式接口(Functional Interface) 配合使用,即接口中仅有一个抽象方法。

@FunctionalInterface//自定义函数接口interface Calculator {int operate(int a, int b);}// 使用 Lambda 实现加法Calculator add = (a, b) -> a + b;System.out.println(add.operate(3, 5)); // 输出 8

// 静态方法引用
Function<Double, Double> sqrt = Math::sqrt;
// 实例方法引用
List<String> names = Arrays.asList("Alice", "Bob");
names.forEach(System.out::println); // 等效于 s -> System.out.println(s)
// 构造器引用
Supplier<List<String>> listSupplier = ArrayList::new;

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
// 过滤偶数,平方后求和
int sum = numbers.stream().filter(n -> n % 2 == 0)    // Predicate.map(n -> n * n)            // Function.reduce(0, Integer::sum);   // BinaryOperator
System.out.println(sum); // 输出 20 (2² + 4² = 4 + 16)

// 显式类型
Comparator<Integer> cmp = (Integer a, Integer b) -> a.compareTo(b);
// 隐式类型(推荐)
Comparator<Integer> cmp = (a, b) -> a.compareTo(b);

@FunctionalInterface
interface FileProcessor {void process() throws IOException; // 声明异常
}
FileProcessor processor = () -> Files.readAllBytes(Paths.get("file.txt"));

错误堆栈中直接显示processString,明确指出问题发生在processString方法中,方便快速定位

集合排序中,a.length()-b.length()[从小到大]    b.length()-a.length()[从大到小]

Optional 避免空指针、新的日期时间 API

链式处理就是.map().filter();

http://www.xdnf.cn/news/4713.html

相关文章:

  • Linux_进程退出与进程等待
  • 分享 2 款基于 .NET 开源的实时应用监控系统
  • Altera系列FPGA实现图像视频采集转HDMI/LCD输出,提供4套Quartus工程源码和技术支持
  • vue2 结合后端预览pdf 跨域的话就得需要后端来返回 然后前端呈现
  • node.js 实战——在express 中将input file 美化,并完成裁剪、上传进度条
  • 本地可执行命令的智能体部署方案
  • 【WebRTC-12】CreatePeerConnection究竟创建了什么?
  • 开发函数踩坑记 sum(1) over(partition by stock_code order by trade_date asc)
  • 信息系统项目管理工程师备考计算类真题讲解十五
  • java面试OOM汇总
  • 边缘网关(边缘计算)
  • 云平台的技术方向和总体规划
  • 基于卫星遥感数据进行农作物长势监测原理简述
  • BeeWorks IM:专业安全的企业私有化即时通讯软件
  • Linux——Mysql数据库
  • 数据结构*二叉树
  • 软件测试学习笔记
  • 数据结构 - 9( 位图 布隆过滤器 并查集 LRUCache 6000 字详解 )
  • 数据结构 - 10( B- 树 B+ 树 B* 树 4000 字详解 )
  • 谷云科技iPaaS技术实践:集成平台如何解决库存不准等问题
  • 智能外呼机器人的核心优势
  • 《算法导论(第4版)》阅读笔记:p11-p13
  • 图形渲染+事件处理最终版
  • 含铜废水循环利用体系
  • 【杂谈】Godot 2D游戏窗口设置
  • Nginx +Nginx-http-flv-module 推流拉流
  • JAVA:Spring Boot 集成 Lua 的技术博客
  • 深入理解进程与线程、进程池与线程池:企业级开发实战指南
  • Perspective,数据可视化的超级引擎!
  • 【图片合并PDF】一次性将多个文件夹里的图片批量按文件夹为单位合并PDF,多个文件夹图片合并PDF,基于WPF的实现方案