Ich habe eine Frage zum Ändern der Werte von Variablen in Methoden in Java.
Dies ist mein Code:
public class Test {
public static void funk(int a, int[] b) {
b[0] = b[0] * 2;
a = b[0] + 5;
}
public static void main(String[] args) {
int bird = 10;
int[] tiger = {7};
Test.funk(bird, tiger);
}
}
Nach der Ausführung der Methode Test.funk(bird, tiger)
wird der Wert von bird nicht geändert - er bleibt bei dem Wert 10
auch wenn in der funk()
Methode haben wir den Wert mit a = b[0] + 5;
Andererseits ändert sich der Wert des Elements im Array, denn wir haben die Anweisung b[0] = b[0] * 2;
Ich verstehe nicht, warum sich die eine Sache ändert und die andere nicht? Könnte mir das bitte jemand erklären?