三、将集合转换成数组

    /**
     * 将集合转换成数组
     * @param list 集合
     * @param arrType 数组类型
     * @param <E> 泛型
     * @return 数组
     */
    public <E> Object convertToArray(List<E> list, Class<?> arrType) {
        //获取数组元素类型
        Class<?> arrayComponentType = arrType.getComponentType();
        //反射创建对象
        Object array = Array.newInstance(arrayComponentType, list.size());
        //若数组元素类型是基本类型
        if (arrayComponentType.isPrimitive()) {
            for (int i = 0; i < list.size(); i++) {
                Array.set(array, i, list.get(i));
            }
        } else {
            //只有包装类型在可以用
            array = list.toArray((E[])array);
        }
        return array;
    }
发布了444 篇原创文章 · 获赞 113 · 访问量 40万+

猜你喜欢

转载自blog.csdn.net/panchang199266/article/details/103266324
今日推荐