pageBean 在做分页的查询中是一个很重要的工具类,这个工具类就我个人而言遇到了一个小问题,记录一下:
这个问题是涉及到java.lang.Math下的一个方法 ceil方法,当使用ceil(double)向上取数的时候,括号里面的数字为double类型,而我们定义的变量数据类型为int类型,所以需要转为double类型,否则会产生错误:如下
public static void main(String[] args) throws Exception {
int ceil =(int) Math.ceil(5/3);
System.out.println(ceil);
}
这个时候打印的结果是:1,
public static void main(String[] args) throws Exception {
int ceil =(int) Math.ceil(5.0/3);
System.out.println(ceil);
}
这个时候的打印结果就是:2
所以在写pageBean的时候需要注意的是,计算总页数的时候用到ceil方法时,需要后面加上一个0.0,附上代码如下:
import java.util.List;
public class PageBean<T> {
private List<T> data;
private int pageNumber;
private int pagesize;
private int total;
private int totalPage;
public List<T> getData() {
return data;
}
public void setData(List<T> data) {
this.data = data;
}
public int getPageNumber() {
return pageNumber;
}
public void setPageNumber(int pageNumber) {
this.pageNumber = pageNumber;
}
public int getPagesize() {
return pagesize;
}
public void setPagesize(int pagesize) {
this.pagesize = pagesize;
}
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
public int getTotalPage() {
return (int) Math.ceil((total+0.0)/pagesize);
//return (int) Math.ceil((total*1.0)/pagesize);
}
}