SubList分页-010-Pager类

来源:互联网 发布:java 如何截断字符串 编辑:程序博客网 时间:2024/05/21 10:29

概述

1.属性+get、set方法
2.增加泛型到类(getList使用)
3.空参/参数构造器-参数构造器很重要,核心
4.toString方法
5.实现Serializable接口

测试代码

package top.itcourse.page.model;import java.io.Serializable;import java.util.List;public class Pager<T> implements Serializable{    private static final long serialVersionUID = 6890057936400025118L;    // 1.每页显示的记录数目    private int pageSize;    // 2.当前数据的页数    private int currentPage;    // 3.记录总数目    private int totalRecord;    // 4.页面总数目    private int totalPage;    // 5.数据List    private List<T> dataList;    // 空参构造器    public Pager() {    }    /*     * 根据List<T> dataList, int currentPage, int pageSize     * 三个参数算出另外两个     */    // 有参构造器    public Pager(List<T> dataList, int currentPage, int pageSize) {        if( dataList == null ) {            return ;        }        System.out.println("currentPage: " + currentPage);          // 分页总数        this.pageSize = pageSize;        // 总记录条数        this.totalRecord = dataList.size();        System.out.println("totalRecord: " + this.totalRecord);        // 页面总数目        this.totalPage = totalRecord / pageSize;        if( totalRecord % pageSize != 0 ) {            totalPage += 1;        }        // 当前页:如果传进来的当前页大于总的数目,我们就认为它是最后一页        System.out.println("totalPage: " + this.totalPage);        this.currentPage = currentPage;        if( this.totalPage < currentPage ) {            this.currentPage = this.totalPage;        }        // 数据列(这就是重点了,subList)            // 当前页 起始记录位置        System.out.println(this.pageSize + ":" + this.currentPage);        int fromIndex = this.pageSize*(this.currentPage - 1);       // 好好理解            // 当前页 结束的记录位置        int toIndex = this.pageSize*this.currentPage;               // 好好理解        if( toIndex > totalRecord ) {            toIndex = totalRecord;        }            // 数据列赋值        this.dataList = dataList.subList(fromIndex, toIndex);    }    public int getPageSize() {        return pageSize;    }    public void setPageSize(int pageSize) {        this.pageSize = pageSize;    }    public int getCurrentPage() {        return currentPage;    }    public void setCurrentPage(int currentPage) {        this.currentPage = currentPage;    }    public int getTotalRecord() {        return totalRecord;    }    public void setTotalRecord(int totalRecord) {        this.totalRecord = totalRecord;    }    public int getTotalPage() {        return totalPage;    }    public void setTotalPage(int totalPage) {        this.totalPage = totalPage;    }    public List<T> getDataList() {        return dataList;    }    public void setDataList(List<T> dataList) {        this.dataList = dataList;    }    public static long getSerialversionuid() {        return serialVersionUID;    }    @Override    public String toString() {        return "Page [pageSize=" + pageSize + ", currentPage=" + currentPage + ", totalRecord=" + totalRecord                + ", totalPage=" + totalPage + ", dataList=" + dataList + "]";    }}

源码下载

关注下方的微信公众号,回复:java_div_page.code





欢迎加入交流群:451826376


更多信息:www.itcourse.top

完整教程PDF版本下载

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 红米note3接电话黑屏怎么办 红米note3死机黑屏怎么办 红米note2开机之后黑屏怎么办 红米手机白屏怎么办 红米4黑屏打不开怎么办 oppo手机拨打电话时黑屏怎么办 华为手机拨打电话时黑屏怎么办 小米6x拨电话黑屏怎么办 魅族手机打电话黑屏怎么办 三星手机拨打电话时黑屏怎么办 华为畅享5打电话黑屏怎么办 小米note通话声音小怎么办 金立m5黑屏开不了机怎么办 金立手机光感器坏了怎么办 红掌根部烂了怎么办 魅族相册闪退怎么办 魅族手机闪退怎么办 苹果6手机主页面打不开怎么办 手机中病毒闪退怎么办 酷派手机开机黑屏怎么办啊 酷派手机黑屏打不开怎么办 酷派手机不开机怎么办 乐视手机开不了机怎么办 vivo手机拨号键盘不见了怎么办 华为手机拨号键盘不见了怎么办 金立手机拨号键盘不见了怎么办 酷派手机home键失灵怎么办 r11屏碎一半黑屏怎么办 金立手机黑屏打不开怎么办 小米8se自动跳出广告怎么办 小米手机总跳出广告怎么办 小米手机总是出现广告怎么办 红米1s开机黑屏怎么办 红米手机打电话黑屏怎么办 小米4c打游戏卡怎么办 电脑总出现拨号连接怎么办 win10电脑没有拨号连接怎么办 红米手机黑屏了怎么办 小米4s黑屏了怎么办 鼠标的左键失灵怎么办 小米5左键失灵怎么办