接收一个list,页码、每页条数,返回PageInfo对象
public class PageInfoUtils {
/*
list:要执行分页的数组
currentPage: 当前页数
pageSize:每页条数
*/
public static <T> PageInfo<T> getPageInfo(List<T> list, int currentPage, int pageSize) {
int total = list.size();
if (total > pageSize) {
int toIndex = pageSize * currentPage;
if (toIndex > total) {
toIndex = total;
}
int totalPage = total % pageSize == 0 ? (total/pageSize) : (total/pageSize)+1;
if (totalPage < currentPage){
list = new ArrayList<>();
}else {
list = list.subList(pageSize * (currentPage - 1), toIndex);
}
}else {
list = currentPage == 1 ? list : new ArrayList<>();
}
PageInfo<T> pageInfo = new PageInfo<>(page);
pageInfo.setTotal(total);
return pageInfo;
}
}