public List<Product> getProductByPage(int pageIndex, int pagesize) { int totalCount =products.length; int pageCount=0; if(pageIndex<0) //如果当前页已经小于第一页就返回第一页 { pageIndex=0; } /** *计算数据的页数 */ if(totalCount%pagesize==0) { pageCount=totalCount/pagesize; }else { pageCount=totalCount/pagesize+1; } /** * 如果当前页大于总页数,最大页数就等于当前页减1(因为当前页是从0开始所以要减1) */ if(pageIndex>=pageCount-1) { pageIndex=pageCount-1; } Product[] source=null; this.productList.toArray(source); List<Product> result=new ArrayList<Product>(); for(int i=pageIndex*pagesize;i<pagesize*(pageIndex+1);i++) { result.add(source[i]); } return result; }