Hallo,
Ich habe ein Problem, das mich jetzt schon seit geraumer Zeit beschäftigt. Wenn ich eine ArrayList an eine Methode übergebe und in der Methode ein Element bearbeite, dann ändert sich auch die ursprüngliche Variable.
Die erste Ausgabe ist 0, die zweite 1. Bei jedem anderen Datentyp, den ich getestet habe, ließ sich die Variable so nicht ändern.
Ich würde gerne wissen, wodurch das entsteht und noch wichtiger, wie man es umgehen kann.
Danke im Vorraus
Ich habe ein Problem, das mich jetzt schon seit geraumer Zeit beschäftigt. Wenn ich eine ArrayList an eine Methode übergebe und in der Methode ein Element bearbeite, dann ändert sich auch die ursprüngliche Variable.
Java:
import java.util.ArrayList;
public class Main {
static ArrayList<Integer> i = new ArrayList<>();
public static void main(String[] args) {
i.add(0);
System.out.println(i.get(0));
test(i);
System.out.println(i.get(0));
}
private static void test(ArrayList<Integer> i1) {
i1.set(0, 1);
}
}
Die erste Ausgabe ist 0, die zweite 1. Bei jedem anderen Datentyp, den ich getestet habe, ließ sich die Variable so nicht ändern.
Ich würde gerne wissen, wodurch das entsteht und noch wichtiger, wie man es umgehen kann.
Danke im Vorraus