Lambda

浏览该分类下的所有文章

PageHelper结合Lambda表达式实现简洁的分页封装

本文演示了在Spring Boot 项目中通过引入 `pagehelper‑spring‑boot‑starter`,结合 Java Lambda 表达式,实现统一、简洁的分页封装。首先定义 `BaseQueryParam` 只包含 `pageNum`、`pageSize`,供所有查询继承;随后实现通用的 `NewPageBean<T>`,在 `generatePage` 方法中使用 `PageHelper.startPage(...).doSelectPage(ISelect)` 通过 Lambda 调用 Mapper,自动返回 `total`、`list` 与 `MyPage`(页码、页大小、总页数、前后页)等分页信息。示例代码展示了 `TaskMapper`、对应 XML 与 `TaskController` 的调用方式,访问 `http://localhost:9090/demo/test?pageNum=2&pageSize=2` 即可得到结构化的分页响应。整个方案实现了分页逻辑的高度复用与代码简化。

Lambda表达式与流(Stream) API

本文概述了 Java 8 引入的 Lambda 表达式和 Stream API,阐述 Lambda 作为匿名函数实现函数式接口的方式,使集合操作更简洁;介绍 Stream 通过流水线式的中间、终结操作实现顺序或并行的数据处理,并给出过滤计数等示例。进一步分析了 Lambda 在编译后生成闭包类、Stream 的管道模型等内部机制。最后提出最佳实践,如避免在 Lambda 中修改外部变量、合理使用并行流以及区分中间与终结操作,以规避性能和行为问题。全文强调掌握这两项特性可提升 Java 代码的可读性、维护性和执行效率。