0
:List <T> .toArray()がT []の代わりに汎用Object []を返すのはなぜですか?たとえば
List<String> items = new ArrayList<String>();
String[] aItems = items.toArray(); // type error, because toArray() returns Object[]
は、私は、これはそれがある方法であることを理解し、それを変更することはできません。もちろんStringにキャストすることもできますが、その背後にあるアイデアは何ですか?これはJavaの「バグ」ですか、それともその理由がありますか?
'items.toArray(new String [items.size()])'を使用して、追加の配列オブジェクトの割り当てを防止します。配列のサイズが 'List'サイズに等しい場合、' items'要素は指定された配列にコピーされ、メソッドはその配列を返します。新しく作成された配列は返しません。 – Lennier
私はまだ表示されない理由がわかりません().toArray()はT []を返しますか?どのように他のものを返すことができるのか分かりません。 –
nagylzs
ああ、私は今参照してください。あなたはそれをそのように宣言することはできません。まあ、私は正当な理由としてそれを見ません。私はそれを言語の壁として見る。 – nagylzs