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
?