现在的位置: 首页 > 综合 > 正文

List和List

2017年10月05日 ⁄ 综合 ⁄ 共 886字 ⁄ 字号 评论关闭

昨天遇到一个问题,字段的类型是List<T>,代码如下:
public class Pager<T> extends BaseBean {

    private int pageNo = 1;                          // 当前页号
    private int pageSize = 10;                       // 页面大小
    private List<T> recordList = new ArrayList<T>(); // 记录列表

我调用的代码如下:
List<Object[]> typeValueList = dao.executeSelectSql(sql, lastResult, firstResult);
     typeValuePager.setRecordList(typeValueList);
 
结果typeValuePager.setRecordList一直报错,没找到原因。
今天早上重新用提示才发现,这里需要的类型是List<List<Object[]>>,代码如下,
List<List<Object[]>> result = new ArrayList<List<Object[]>>();
        result.add(typeValueList);
再setresult时就没错,这下我意识问题所在了。原来我在新建pager时是这样New的:
Pager<List<Object[]>> typeValuePager = new Pager<List<Object[]>>();

导致我一直放List<Object[]>不行,泛型不会才导致这个问题啊。改成这样就可以了:
Pager<Object[]> typeValuePager = new Pager<Object[]>();

List<Object[]> typeValueList = dao.executeSelectSql(sql, lastResult, firstResult);
    int typeValueCount = dao.getEntityCountBySql(sql);
       
    typeValuePager.setRecordList(typeValueList);

抱歉!评论已关闭.