分页工具类

public class PageUtil {
private PageUtil() {
// 工具类私有构造方法
}

/**
* 内存分页
*
* @param page
* @param pageSize
* @param filterDtoList
* @param <T>
* @return
*/
public static <T> PageResult<T> getPageResult(Integer page, Integer pageSize, List<T> filterDtoList) {
Integer total = filterDtoList.size();
int start = pageSize * (page - 1);
int end = start + pageSize;
if (start > total) {
return new PageResult<>();
}
if (end > total) {
end = total;
}
List<T> subList = filterDtoList.isEmpty() ? filterDtoList : filterDtoList.subList(start, end);

PageResult<T> pageResult = new PageResult<>(page, pageSize, total.longValue());
pageResult.setData(subList);
return pageResult;
}


/**
* 获取真实page,主要当页码超过真实页码后取最后一页
*
* @param totalNum
* @param currentPage
* @param pageSize
* @return
*/
public static int getRealPage(long totalNum, int currentPage, int pageSize) {
if (totalNum < 1) {
return 1;
}
int totalPage = (int) (totalNum + (long) pageSize - 1L) / pageSize;
if (currentPage <= totalPage) {
return currentPage;
}
return totalPage;
}
}
posted @ 2022-02-25 13:35  剑阁丶神灯  阅读(215)  评论(0)    收藏  举报