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