次のコード(Androidで実行)では、常に3行目にClassCastExceptionが表示されます。
final String[] v1 = i18nCategory.translation.get(id);
final ArrayList<String> v2 = new ArrayList<String>(Arrays.asList(v1));
String[] v3 = (String[])v2.toArray();
これは、v2がObject [0]の場合、およびその中に文字列がある場合にも発生します。何かアイデアは?
-あなたは共変性と反変性について読むことをお勧めしますen.wikipedia.org/wiki/...
—
Hut8
Tがインスタンス化のファクトリメソッドとのインターフェイスである場合はどうでしょうか。
—
sebaj 2011
@LaceCard-これは、共分散/反変に非常に間接的にのみ関連しています。実際の問題は、これが
—
スティーブンC
toArray()
メソッドの指定された動作の直接的な結果であるということです。