优雅的将Object转换成List<?>,避免Unchecked cast:

public static <T> List<T> castList(Object obj, Class<T> clazz)
{
    List<T> result = new ArrayList<T>();
    if(obj instanceof List<?>)
    {
        for (Object o : (List<?>) obj)
        {
            result.add(clazz.cast(o));
        }
        return result;
    }
    return null;
}
public static void main(String[] args) {
    Object obj = getObj();
    List<User> list = castList(obj, User.class);
    list.forEach(System.out::println);
}
posted @ 2022-02-21 21:46  vaen  阅读(218)  评论(0)    收藏  举报