Java Modifying Elements in einem foreach
Ich lerne Java alleine. und deshalb hat der folgende Code keine andere Funktion als zum Lernen / Testen.
Im Wesentlichen versuche ich, die Elemente eines Integer-Arrays zu ändern (dh zu halbieren), während ich mich in einer foreach-Schleife befinde.
Ich sollte beachten, dass ich keine Elemente neu anordne, hinzufüge oder lösche. einfach ihre Werte ändern.
Hier ist mein Code:
Logger.describe("Now copying half of that array in to a new array, and halving each element");
Integer[] copyArray = new Integer[DEFAULT_SAMPLE_SIZE / 2];
System.arraycopy(intArray, 0, copyArray, 0, DEFAULT_SAMPLE_SIZE / 2);
for (Integer x : copyArray) x /= 2;
Logger.output(Arrays.deepToString(copyArray));
Das ursprüngliche Array (intArray) lautet jedoch wie folgt:
[47, 31, 71, 76, 78, 94, 66, 47, 73, 21]
Und die Ausgabe von copyArray ist:
[47, 31, 71, 76, 78]
Obwohl die Größe des Arrays halbiert wurde, wurde der Wert der Elemente (Ganzzahlen) nicht halbiert. Also, was mache ich falsch?
Vielen Dank