我有类寻呼机。而且我需要放入各种类型的列表,并且我需要返回相同的列表类型。
Pager 的代码只有构造函数和 getData 方法,它们只获取一个子集并返回它。
public class Pager<E> {
private int page;
private int amount;
private List<E> list;
/**
* Constructor
* @param amount
* @param page
* @param list
*/
public Pager(int page, int amount, List<E> list) {
this.page = page;
this.amount = amount;
this.list = list;
}
/**
* Returns data to counter
* @return
*/
public List<E> getData() {
List<E> result = new ArrayList<E>();
int from = this.page * this.amount;
int to = (this.page * this.amount) + this.amount;
for (int i = from; i < to; i++) {
result.add(this.list.get(i));
}
return result;
}
方法调用我用列表调用寻呼机,然后我需要将结果放回列表中。
List<MyType1> list1 = ArrayList<Mytype1>();
List<MyType2> list2 = ArrayList<Mytype2>();
Pager pager = new Pager(
page,
amount,
list1;
);
list1 = pager.getData();
Pager pager = new Pager(
page,
amount,
list2
);
list2 = pager.getData();
那么如何使这个寻呼机通用来处理各种类型的列表呢?
谢谢您的帮助。