Interpreter-Fehler ArrayIndexOutOfBoundsException bei System.arraycopy()

huckleberry

Bekanntes Mitglied
Hallo,

ich habe irgendwo oben ein index mit 0 initialisiert.
Java:
static int indexOfNextSegment = 0;
// und weiterhin ...
byte[] sourceData = 0x11 0x22 0x33 0x44 0x55 0x66 // kann sich im Laufe d. Programms ändern
byte[] destData = new byte[4060]; // je mit 0x00 vorbelegt

dann habe ich in einer Methode eine Schleife mit
Java:
System.arraycopy(sourceData, 3, destData, indexOfNextSegment, 5);
indexOfNextSegment += 5;

Schon beim ersten Schleifendurchlauf:
java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 6

Das arraycopy sollte doch ab dem 3ten byte von sourceData für 5 bytes Länge das Zeug in destData ab Position 0 (hier beim 1. mal) einsetzen..

Oder lieg ich falsch?

Thnx..
Huck
 
Zuletzt bearbeitet:
Dein sourceData Array hat 6 Einträge? Du versuchst beim arrayCopy aufruf dann 5 Elemente zu kopieren ab Index 3, soviele Elemente gibts bei dir aber nicht.
 

Zurück
Oben