//================将数据分页==============
//查询后的数据集合,该对象同样用户截取后的数据集合
Listobj= newArrayList();
//数据总数
int totalCount = 155;
//总的页数
int pageCount = 0;
//每页显示的总数
int endNum = 20;
//当前页码
int startNum = 1;
/*计算出总共能分成多少页*/
if (totalCount % endNum> 0){
pageCount = totalCount / endNum + 1;
}else{ //数据总数和每页显示的总数能整除的情况
pageCount = totalCount / endNum;
}
if(totalCount > 0){
if(startNum <=pageCount){
if(startNum == 1){
if(totalCount <=endNum){//数据总数小于每页显示的数据条数
//截止到总的数据条数(当前数据不足一页,按一页显示),这样才不会出现数组越界异常
obj= obj.subList(0, totalCount);
}else{
obj= obj.subList(0, endNum);
}
}else{
//截取起始下标
int fromIndex = (startNum -1) * endNum;
//截取截止下标
int toIndex = startNum *endNum;
/*计算截取截止下标*/
if ((totalCount - toIndex)% endNum >= 0){
toIndex= startNum * endNum;
}else{
toIndex= (startNum - 1) * endNum + (totalCount % endNum);
}
if (totalCount >=toIndex){
obj= obj.subList(fromIndex, toIndex);
}
}
}else{
obj= null;
}