2016-06-02 4 views
0

배열에 익숙하지는 않지만 매우 이상한 오류입니다. libgdx 배열에서 removeAll 메서드를 호출하려고 할 때마다 배열에서 모든 요소를 ​​제거하기 위해 동일한 배열을 전달하면이 오류가 발생합니다.Libgdx 어레이 | removeAll이 오류를 발생시킵니다.

스레드 "LWJGL 응용 프로그램"에서 예외 java .lang.IndexOutOfBoundsException : index => size = 2> = 1

removeAll 메소드를 호출하는 동일한 배열을 전달 중입니다. 어레이를 지울 수 있어야 어레이를 많이 만들지 않고 다시 사용할 수 있습니다.

+0

방금 ​​새로운 배열로 다시 초기화 할 수 있습니다 전화? – Orin

+0

@ Orin2005 아니요. 배열이 for 루프에서 사용되기 때문에 10,000 회가됩니다. 그 많은 배열을 인스턴스화 할 수 없습니다. 1을 재사용해야합니다. – Wyatt

+0

코드를 볼 수 없기 때문에 물었습니다. 나는 당신이 재사용하고 새로운 어레이로 다시 초기화하는데 필요한 것을 취할 수없는 이유에 관해서는 여전히 혼란 스럽다. removeAll을 사용할 수 없다면 for 루프를 사용하고 색인을 사용하여 각 요소를 제거 할 수 있습니까? – Orin

답변

4

자체적으로 작동하지 않으므로 작동하지 않습니다. removeAll 메서드는 축소 될 때 배열을 반복하므로 예상하지 못합니다.

그냥 array.clear()

+0

감사합니다. – Wyatt

관련 문제