自定义List分页工具
程序员文章站
2022-05-26 15:14:33
...
import java.util.List;
/**
* 自定义List分页工具
*
* @author xuyudian
*/
public class PageUtil {
/**
* 开始分页
*
* @param list
* @param pageNum 页码
* @param pageSize 每页多少条数据
* @return
*/
public static List startPage(List list, Integer pageNum,
Integer pageSize) {
if (list == null) {
return null;
}
if (list.size() == 0) {
return null;
}
Integer count = list.size(); // 记录总数
Integer pageCount = 0; // 页数
if (count % pageSize == 0) {
pageCount = count / pageSize;
} else {
pageCount = count / pageSize + 1;
}
int fromIndex = 0; // 开始索引
int toIndex = 0; // 结束索引
if (pageNum != pageCount) {
fromIndex = (pageNum - 1) * pageSize;
toIndex = fromIndex + pageSize;
} else {
fromIndex = (pageNum - 1) * pageSize;
toIndex = count;
}
// 如果toIndex大于List的总条数 会出现 java.lang.IndexOutOfBoundsException:错误
if (toIndex > list.size()) {
List pageList = list.subList(fromIndex, list.size());
return pageList;
}
List pageList = list.subList(fromIndex, toIndex);
return pageList;
}
}