将Object对象转成List对象

    /**
     * 将Object转成List
     */
    @Test
    public void testObjectCastToList() {
        Object obj = new Object();
        // 这里模拟对解析出来的对象进行转换成List
        List resList = castToList(obj, String.class);
    }

    /**
     * 将Object转换成List类型
     *
     * @param obj   Object对象
     * @param clazz 数据类型
     * @param    泛型类型
     * @return 转换结果
     */
    private static  List castList(Object obj, Class clazz) {
        List result = new ArrayList<>();
        // 如果不是List对象,是没有办法转换的
        if (obj instanceof List) {
            for (Object o : (List) obj) {
                // 根据业务需要来决定这里要不要将null值还原放进去
                if (o == null) {
                    result.add(clazz.cast(null));
                    continue;
                }
                // 转换前的前置判断,避免clazz.cast的时候出现类转换异常
                if (o.getClass().equals(clazz)) {
                    // 将对应的元素进行类型转换
                    result.add(clazz.cast(o));
                }
            }
            return result;
        }
        return result;
    }

你可能感兴趣的:(java,java)