泛型方法
protected <E> TableDataInfo<E> getDataTable(List<E> list)
{
TableDataInfo<E> rspData = new TableDataInfo();
rspData.setCode(HttpStatus.SUCCESS);
rspData.setMsg("查询成功");
rspData.setRows(list);
rspData.setTotal(new PageInfo(list).getTotal());
return rspData;
}
泛型类
public class TableDataInfo<E> implements Serializable
{
private List<E> rows;
public List<E> getRows()
{
return rows;
}
public TableDataInfo(List<E> list, int total)
{
this.rows = list;
this.total = total;
}
}
上限和下限
1. 类定义时指定泛型上限
public class Info<T extends Number> {}
此时,声明的泛型对象只能是Number及其子类,Info<Integer> info = new Info<>();
2. 设置方法只能接受某上限的泛型类型
public void fun(Info<? extends Number> info){}
1. 定义类:public class Info<T supper Number> {}
2. 声明对象:类名称<? supper 类> 对象名称。
public void fun(Info<? supper Number> info){}