list 分页工具类

https://www.cnblogs.com/haiyangsvs/p/6210852.html

  public static byte[] serializeObject(Object object) {
         ByteArrayOutputStream saos = new ByteArrayOutputStream();
         ObjectOutputStream oos;
   try {
    oos = new ObjectOutputStream(saos);
    oos.writeObject(object);
    oos.flush();
   } catch (IOException e) {
    e.printStackTrace();
    throw new BizException("Object序列化失败");
   }
         return saos.toByteArray();
 
  }

    /** 反序列化对象
     * @throws IOException
     * @throws ClassNotFoundException */
    public static Object deserializeObject(byte[] buf) {
        Object object=null;
        ByteArrayInputStream sais=new ByteArrayInputStream(buf);
        ObjectInputStream ois;
  try {
   ois = new ObjectInputStream(sais);
   object = ois.readObject();
  } catch (Exception e) {
   e.printStackTrace();
   throw new BizException("字节转Object失败");
  }
        return object;
    }
 

package com.chehaha.shop.vo.shopInfoVo;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class PageUtil<T> {
 /**原集合*/
    private List<T> data;
 
    /** 当前页 */
    private int pageNum;

    /** 每页条数 */
    private int pageSize ;

    /** 总页数 */
    private int totalPage = 0;

    /** 总数据条数 */
    private int totalElements = 0;

    /** 得到对象 */
    public PageUtil listToPage(List<T> data,int pageNum,int pageSize) {
     PageUtil page = new PageUtil<>();
     page.setPageNum(pageNum);
     page.setPageSize(pageSize);
        if (data == null || data.isEmpty()) {
         return page;
        }
        page.setData(convertData(data,pageNum,pageSize));
        page.setTotalElements(data.size());
        page.setTotalPage((page.getTotalElements() + pageSize - 1) / pageSize );
        return page;
    }
 
    /**
     * 得到分页后的数据
     */
    public List<T> convertData(List<T> data,int nowPage,int pageSize) {
        int fromIndex = (nowPage) * pageSize;
        if (fromIndex >= data.size()) {
            return Collections.emptyList();//空数组
        }
        if(fromIndex<0){
         return Collections.emptyList();//空数组
        }
        int toIndex = (nowPage + 1) * pageSize;
        if (toIndex >= data.size()) {
            toIndex = data.size();
        }
        return data.subList(fromIndex, toIndex);
    }
 

 public List<T> getData() {
  return data;
 }

 public void setData(List<T> data) {
  this.data = data;
 }

 public int getPageNum() {
  return pageNum;
 }

 public void setPageNum(int pageNum) {
  this.pageNum = pageNum;
 }

 public int getPageSize() {
  return pageSize;
 }

 public void setPageSize(int pageSize) {
  this.pageSize = pageSize;
 }

 public int getTotalPage() {
  return totalPage;
 }

 public void setTotalPage(int totalPage) {
  this.totalPage = totalPage;
 }

 public int getTotalElements() {
  return totalElements;
 }

 public void setTotalElements(int totalElements) {
  this.totalElements = totalElements;
 }
}

猜你喜欢

转载自blog.csdn.net/qq_27988103/article/details/82287856