list.toArray()同意将类型A的项目传输到类型B []的数组

Avi*_*ohn 2 java arrays generics list

我有以下代码:

private double doThings(List<ClassA> list){
    ClassB[] array = list.toArray(new ClassB[0]);
    // ...
}
Run Code Online (Sandbox Code Playgroud)

这编译.为什么?

kos*_*osa 7

基于javadoc:

ArrayStoreException - 如果指定数组的运行时类型不是此列表中每个元素的运行时类型的超类型.