/**
* 分割数组
*
* @param array 原数组
* @param Size 分割后每个数组的最大长度
* @param <T> 原数组的类型
* @return
*/
public static <T> List<Object[]> splitArray(T[] array, int Size) {
List<Object[]> list = new ArrayList<Object[]>();
int i = (array.length) % Size == 0 ? (array.length) / Size : (array.length) / Size + 1;
for (int j = 0; j < i; j++) {
List<T> list1 = new ArrayList<T>();
for (int k = 0; k < Size; k++) {
if ((j * Size + k) >= array.length) {
break;
} else {
list1.add((array[j * Size + k]));
}
}
/**
* list.toArray()之后只能转成Object类型的数组,不能转成int和Integer等
* 否则会报:java.lang.ClassCastException:
* [Ljava.lang.Object; cannot be cast to [Ljava.lang.Integer;
* 非检测性异常
* 所以只能是List<Object[]>,不能是List<T[]>
*/
list.add(list1.toArray());
}
return list;
}
Java数组分割实现
最新推荐文章于 2025-01-05 11:02:52 发布
685

被折叠的 条评论
为什么被折叠?



