public List<List<Integer>> splitList(
List<Integer> values) {
List<List<Integer>> newList = new ArrayList<ArrayList<Integer>>();
//Type mismatch: cannot convert from ArrayList<ArrayList<Integer>> to List<List<Integer>>
while (values.size() > numValuesInClause) {
List<Integer> sublist = values.subList(0,numValuesInClause);
List<Integer> values2 = values.subList(numValuesInClause, values.size());
values = values2;
newList.add( sublist);
}
return newList;
}
我想传入一个整数列表,并将其拆分为多个小于numValuesInClause
的列表。
我在使用ArrayList<Integer>
和List<Integer>
例如List.subList(x,y)
会返回List<E>
在这里工作的最佳方式是什么?
此处显示的当前代码对我来说是最有意义的,但显示的是编译错误。
答案 0 :(得分:3)
使用:
List<List<Integer>> newList = new ArrayList<List<Integer>>();
而不是:
List<List<Integer>> newList = new ArrayList<ArrayList<Integer>>();
原因是你要实例化一个泛型元素ArrayList
的具体List<Integer>>