转载于:https://www.2cto.com/kf/201807/758497.html

package com.wdb.uos.utils;
import java.util.Collections; 
import java.util.List; 
  
/**
 * @author yuhd
 */
public class Pager<T> { 
  
    private int pageSize; 
    private List<T> data; 
  
    private Pager(List<T> data, int pageSize) { 
        if (data == null || data.isEmpty()) { 
            throw new IllegalArgumentException("data must be not empty!"); 
        } 
  
        this.data = data; 
        this.pageSize = pageSize; 
    } 
    public static <T> Pager<T> create(List<T> data, int pageSize) { 
        return new Pager<>(data, pageSize); 
    } 
    public List<T> getPagedList(int pageNum) { 
        int fromIndex = (pageNum - 1) * pageSize; 
        if (fromIndex >= data.size()) { 
            return Collections.emptyList(); 
        } 
  
        int toIndex = pageNum * pageSize; 
        if (toIndex >= data.size()) { 
            toIndex = data.size(); 
        } 
        return data.subList(fromIndex, toIndex); 
    } 
  
    public int getPageSize() { 
        return pageSize; 
    } 
  
    public List<T> getData() { 
        return data; 
    } 
  
}