Das Interface java.awt.List definiert ja zwei Methoden, um aus einer List ein Array zu erhalten:
Schön und gut, nur durch die Generics, weiß ich bei einer typisierten List ja bereits den Inhalt, den das Array haben muss. Warum also liefert #toArray() immer ein Object[] zurück? Gibt es nicht eine Methode, die mir bereits das vollständige Array zurück liefert, ohne dass ich erst ein neues Array erzeugen muss und dieses dann als Parameter übergebe? Diese zusätzliche (und in den meisten Fällen sicher unnötige) Objekterzeugung ist es, die mir übel aufstößt.
Code:
List#toArray() : Object[]
List#toArray(T[]) : T[]
Schön und gut, nur durch die Generics, weiß ich bei einer typisierten List ja bereits den Inhalt, den das Array haben muss. Warum also liefert #toArray() immer ein Object[] zurück? Gibt es nicht eine Methode, die mir bereits das vollständige Array zurück liefert, ohne dass ich erst ein neues Array erzeugen muss und dieses dann als Parameter übergebe? Diese zusätzliche (und in den meisten Fällen sicher unnötige) Objekterzeugung ist es, die mir übel aufstößt.