pageInfo中list没有值

PageInfo需要泛型

### 将Java中的`List`转换为`PageInfo`对象 在某些场景下,可能需要将标准的`List`集合转换成带有分页信息的对象如`PageInfo`。这通常发生在当应用程序希望保持与前端交互的一致性和简洁性时。为了实现这一点,可以利用第三方库比如MyBatis-Plus自带的功能或是手动创建一个包含分页属性的新类来完成此过程。 对于已经有一个列表的情况,可以通过计算总数、设置当前页面和其他必要的参数来自定义构建一个`PageInfo`实例[^1]: ```java import com.github.pagehelper.PageInfo; import java.util.List; public class ListToPageInfoConverter { public static PageInfo<?> convertToListPage(List<?> list, int pageNum, int pageSize) { // 创建一个新的PageInfo对象并初始化其基本属性 PageInfo<Object> pageInfo = new PageInfo<>(list); // 如果传入的是完整的未分页的数据集,则需重新设定pageInfo的相关属性 if (pageNum != 0 && pageSize != 0){ long total = list.size(); double pageCountDouble = Math.ceil((double)total / pageSize); int pages = (int)pageCountDouble; // 设置分页信息 pageInfo.setPageSize(pageSize); pageInfo.setCurrentPage(pageNum); pageInfo.setSize(total); pageInfo.setPages(pages); // 计算起始索引和结束索引用于截取子列表模拟分页效果 int fromIndex = Math.min((pageNum - 1) * pageSize, total); int toIndex = Math.min(fromIndex + pageSize, total); // 更新records字段以反映实际返回的数据条目 pageInfo.setList(list.subList(fromIndex, toIndex)); } return pageInfo; } } ``` 上述方法接受三个参数:待处理的原始列表(`list`)、期望获取的具体页码(`pageNum`)以及每一页应展示的最大记录数量(`pageSize`)。通过这些输入,该函数能够动态调整最终输出给调用者的`PageInfo`对象的内容,从而达到类似于数据库层面执行过的分页查询的效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值