/**
* 将Object转成List
*/
@Test
public void testObjectCastToList() {
Object obj = new Object();
// 这里模拟对解析出来的对象进行转换成List<String>
List<String> resList = castToList(obj, String.class);
}
/**
* 将Object转换成List类型
*
* @param obj Object对象
* @param clazz 数据类型
* @param <T> 泛型类型
* @return 转换结果
*/
private static <T> List<T> castList(Object obj, Class<T> clazz) {
List<T> 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;
}
将Object对象转成List对象
于 2022-05-05 00:11:47 首次发布