public static <T> List<List<T>> packList(List<T> list, int len) {
if (list == null || list.size() == 0 || len < 1) {
return null;
}
List<List<T>> result = new ArrayList<List<T>>();
int size = list.size();
int mod = size%len;//第一种算法
if(mod!=0){
count=size/len+1;
}else{
count=size/len;
}
// int count = (size + len - 1) / len; //第二种算法
for (int i = 0; i < count; i++) {
List<T> subList = list.subList(i * len, ((i + 1) * len > size ? size : len * (i + 1)));
// List subl = new ArrayList<>();
// subl.addAll(subList);这个可用于当强转类型报 can not cast be...时用这个,写在强转处
result.add(subList);
}
return result;
}