要求根據客戶端提交的參數,對返回的結果列表進行分頁,只返回客戶指定的那一頁。寫一個公用函數來實現這個功能就存在一個問題,有多種類型的列表,怎樣定義傳遞給分頁函數的列表變量?就只能使用泛型了。
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頁的數據。