java list分页
用list分页时会遇到一个问题:用户先选好页码,再传条件查询的时候,会导致查询的那一页有可能什么都没有。这时候我们给他当前查询的最后一页的内容会比较友好。
int pageSize; //用户查询的每页多少条 int pageNo; //用户查询的页数 List list; //数据库查询结果 int offset = (pageNo-1)*pageSize; int total = list.size(); int limit = total - offset; if(list!=null && total>0){ //查询当页无数据,需要显示最后一页的内容 if(limit<=0){ offset = total%pageSize==0?(total/pageSize)-1*pageSize:total/pageSize*pageSize; list.subList(offset, total); //正常查询,查询当页有数据 }else{ limit = pageSize > limit ? limit : pageSize; list.subList(offset, offset + limit); } }