/**
* 获取总页数
* @param listSize list
* @param size 页大小
* @return
*/
public static int totalPage(Integer listSize, Integer size){
int page = listSize/size;
if(listSize%size>0){
page += 1;
}
return page;
}
/**
* 分页获取list
* @param list list
* @param size 页大小
* @param currentPage 页码
* @return
*/
public static List listPage(List list, int size, int currentPage){
/**
* 0,当前页大于总页码,直接返回
* 1,总共就一页:第一页总条数不足页大小,需要截取
* 2,最后一页:总条数不足页大小,需要截取
*/
int listSize = list.size();
int page = totalPage(listSize, size);
if(currentPage > page){
return null;
}
if(page == 1 && listSize < size){
return list.subList(0, listSize);
}
int index = (currentPage - 1) * size;
if(page > 1 && page == currentPage && (listSize - index) < size){
return list.subList(index, (listSize - index + index));
}
return list.subList(index, index + size);
}