toArray方法隐藏<E>传递给Collection<E>接口。下面是方法签名。
<T> T[] toArray(T[] a);
因为下面是可能的。结果成ArrayStoreException
ArrayList<String> string = new ArrayList<String>();
string.add("1");
string.add("2");
Integer intArray[] = new Integer[2];
intArray = string.toArray(intArray);
我想知道为什么会做出这样的决定?为什么在设计 API 时允许这种情况?无论如何,这段代码会导致RuntimeException?