要求根据客户端提交的参数,对返回的结果列表进行分页,只返回客户指定的那一页。写一个公用函数来实现这个功能就存在一个问题,有多种类型的列表,怎样定义传递给分页函数的列表变量?就只能使用泛型了。
public static<T> List<T> getPage(List<T> l, int count, int page){ int i, min, max; List<T> r = new ArrayList<T>(); T t; if ((count == 0) || (page == 0)) return l; min = (page-1)*count; if (page*count<l.size()){ max = page*count; } else{ max = l.size(); } for (i = min; i<max; i++){ t = l.get(i); r.add(t); } return r; }
使用这个函数,对列表l进行分页,每页有count条数据,只返回第page页的数据。