Warum verwendet Java ArrayList das Pro-Element-Casting anstelle des Pro-Array-Castings?

Was passiert in Java?ArrayList<T> (und wahrscheinlich viele andere Klassen) ist, dass es eine interne gibtObject[] array = new Object[n];, zu welchemT Objekte werden geschrieben. Immer wenn ein Element daraus gelesen wird, eine Besetzungreturn (T) array[i]; erledigt. Also eine Besetzung für jede einzelne Lektüre.

Ich frage mich, warum das so ist. Mir scheint, dass sie nur unnötige Casts machen. Wäre es nicht logischer und auch etwas schneller, einfach eine zu erstellen?T[] array = (T[]) new Object[n]; und dann ebenreturn array[i]; ohne Besetzung? Dies ist normalerweise nur eine Besetzung pro Array-Erstellungweit weniger als die Anzahl der Lesevorgänge.

Warum ist ihre Methode vorzuziehen? Ich verstehe nicht, warum meine Idee nicht unbedingt besser ist?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage