标签: generics java-8 java-stream
如果任何流元素的运行时类型不是数组运行时类型的子类型,为什么java决定在以下方法ArrayStoreException中抛出<A> A[] Stream<T>.toArray(IntFunction<A[]>)。
ArrayStoreException
<A> A[] Stream<T>.toArray(IntFunction<A[]>)
相反,如果泛型类型A的限制类似于以下<A super T> A[] Stream<T>.toArray (IntFunction<A[]>),则将删除抛出上述异常并在编译时进行检查的必要性。
A
<A super T> A[] Stream<T>.toArray (IntFunction<A[]>)