找出泛型列表函数里的 bug

来自 类型擦除
Java 25 LTS 进阶 4分钟 找出 1处问题

找出这个辅助函数为何无法保证返回列表的每个元素都是 `T`。

Java
import java.util.List;

public class Main {
    @SuppressWarnings("unchecked")
    static <T> List<T> castList(Object value) {
        if (!(value instanceof List<?>)) {
            throw new IllegalArgumentException("not a list");
        }
        return (List<T>) value;
    }
}
在试验场中打开
报告错误