1、使用JDK自带工具
public static <T> List<T> castList(Object source, Class<T> clazz) {
List<T> result = new ArrayList<>();
if(source instanceof List<?>) {
for (Object o : (List<?>) source) {
result.add(clazz.cast(o));
}
return result;
} else if(source instanceof Set<?>) {
for (Object o : (Set<?>) source) {
result.add(clazz.cast(o));
}
return result;
}
return null;
}