代码
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
@Data
public class Page<T> implements Serializable {
private List<T> pages; //数据
private long total; //总条数
private int page; //页数
private int size; //每页几条
public Page() {}
public Page(List<T> pages, long total, int page, int size) {
this.pages = pages;
this.total = total;
this.page = page;
this.size = size;
}
//分页方法 传入页数 条数 需要分页的数据
public static Page<Object> pages(int page,int size,List lists) {
if (page==0){//如果页数为0则自增
page++;
}
if (size==0){//如果条数为0则自增
size++;
}
int page1=(page-1)*size;//当前页数
int size1=page*size;//当前条数
List list= new ArrayList<>();//创建一个空集合,用来储存分页后的数据
if(size1>lists.size()){//如果总条数大于当前数据条数,将总条数赋值为当前数据条数
size1= lists.size();
}
for(int i=page1;i<size1;i++){
list.add(lists.get(i));//将当前页的数据放入集合中
}
Page<Object> pages = new Page<Object>();
pages.setTotal(lists.size());
pages.setPage(page);
pages.setSize(size);
pages.setPages(list);
return pages;
}
public static void main(String[] args) {
List<String> strings=new ArrayList<>;
Page<Object> pages=pages(1,10,strings);
System.out.println(pages);
}
}