java泛型方法
我有班级传呼机。我需要输入不同类型的列表,我需要返回相同的列表类型 寻呼机代码 只有构造函数和getData方法,它们只获取子集并返回它java泛型方法,java,generics,object,mixed,Java,Generics,Object,Mixed,我有班级传呼机。我需要输入不同类型的列表,我需要返回相同的列表类型 寻呼机代码 只有构造函数和getData方法,它们只获取子集并返回它 public class Pager<E> { private int page; private int amount; private List<E> list; /** * Constructor * @param amount * @param page * @param list */ public Page
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;
}
公共类寻呼机{
私人网页;
私人整数金额;
私人名单;
/**
*建造师
*@param金额
*@param页
*@param列表
*/
公共寻呼机(整数页、整数金额、列表){
this.page=page;
这个。金额=金额;
this.list=列表;
}
/**
*将数据返回到计数器
*@返回
*/
公共列表getData(){
列表结果=新建ArrayList();
int from=this.page*this.amount;
int to=(this.page*this.amount)+this.amount;
for(int i=from;i
方法调用
我用列表呼叫寻呼机,然后我需要把结果放回列表
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();
List list1=ArrayList();
List list2=ArrayList();
寻呼机寻呼机=新寻呼机(
页
数量
清单1;
);
list1=pager.getData();
寻呼机寻呼机=新寻呼机(
页
数量
清单2
);
list2=pager.getData();
那么,我怎样才能使这个寻呼机通用,以处理各种类型的列表
感谢您的帮助。将通用类型参数添加到寻呼机变量:
List<MyType1> list1 = new ArrayList<Mytype1>();
List<MyType2> list2 = new ArrayList<Mytype2>();
Pager<MyType1> pager1 = new Pager<MyType1>(
page,
amount,
list1;
);
list1 = pager1.getData();
Pager<MyType2> pager2 = new Pager<MyType2>(
page,
amount,
list2
);
list2 = pager2.getData();
List list1=new ArrayList();
List list2=新的ArrayList();
寻呼机pager1=新寻呼机(
页
数量
清单1;
);
list1=pager1.getData();
寻呼机pager2=新寻呼机(
页
数量
清单2
);
list2=pager2.getData();
您忘记添加问题了吗?问题是什么?您可能还想使用方法“subList”来获取子列表。如果您使用的是没有类型参数的寻呼机,请尝试Pagersry,我编辑了它,问题就消失了……这是我需要的解决方案。谢谢。