2016-06-02 15 views
0

Ich bin nicht neu in Arrays, aber das ist ein sehr seltsamer Fehler. Wann immer ich versuche, die removeAll-Methode auf einem libgdx-Array aufzurufen, und ich gebe das gleiche Array an, das ich aufgerufen habe (um jedes Element im Array zu entfernen), verursacht dies diesen Fehler:Libgdx Array | removeAll verursacht Fehler

Ausnahme im Thread "LWJGL Application" Java .lang.IndexOutOfBoundsException: index kann nicht> = size: 2> = 1

Denken Sie daran, dass ich das gleiche Array übergebe, das die removeAll-Methode aufruft. Ich muss in der Lage sein, das Array zu löschen, damit ich es wiederverwenden kann, anstatt viele Arrays zu erstellen.

+0

Können Sie es einfach als ein Array neu neu initialisieren? – Orin

+0

@ Orin2005 Nein, weil das Array in einer for-Schleife verwendet wird, die 10.000 Mal geht. Ich kann so viele Arrays nicht instanziieren. Ich muss wieder verwenden 1. – Wyatt

+0

Nun, ich kann den Code nicht sehen, deshalb fragte ich. Ich bin immer noch verwirrt darüber, warum Sie nicht einfach das eine nehmen können, das Sie brauchen, um es als neues Array wiederzuverwenden und neu zu initialisieren. Wenn Sie removeAll nicht verwenden können, können Sie einfach eine for-Schleife verwenden und jedes Element mit dem Index entfernen? – Orin

Antwort

4

Es funktioniert nicht, da es nicht für sich selbst entwickelt wurde. Die Methode removeAll wiederholt das Array, wenn es schrumpft, und erwartet dies nicht.

Rufen Sie einfach array.clear()

+0

Danke eine Million! – Wyatt