Integer pageNumber = list.size();//获取列表数量
int start = 0;//截取起始位置
int end = 0;//截取结束位置
if (pageNumber % pgSize == 0) {//整好符合一页的数量
start = (pgNo - 1) * pgSize;//eg:第一页为0、第二页为1*每页数量(起始位置)
end = pgNo * pgSize;//eg:第一页为1*每页数量、第二页则为2*每页数量(结束位置)
} else {
start = (pgNo - 1) * pgSize;//起始位置
end = pageNumber > (pgNo * pgSize) ? pgNo * pgSize : pageNumber;//当数量足够则原方法,不够则取最大条数值(取到最后)
}
if (list != null) {//判断列表是否为空
result.put("total", list.size());//记录数
//记录数量大于0,则进行截取,小于零则返回空空对象
result.put("rows", list.size() > 0 ? list.subList(start, end) : list);
}