Da Java völlig "Pass-by-Vlaue" ist, müsste der folgende Code
als Output "6" liefern. Was er auch tut. Mein Problem ist nun bei Arrays:
Das müsste als Output doch "0" liefern. Aber die test()-Methode hat das Array direkt beeinflusst und als Output erscheint "9". Müsste nicht eine Kopie durch pass-by-value an die test()-Methode übergeben worden sein? Wieso wurde das Array trotzdem beeinflusst?
Code:
public class Test {
static void test(int var){
var = 9;
}
public static void main(String[] args) {
int var = 6;
test(array);
System.out.println(var);
}
}
als Output "6" liefern. Was er auch tut. Mein Problem ist nun bei Arrays:
Code:
public class Test {
static void test(int[] array){
array[0] = 9;
}
public static void main(String[] args) {
int[] array = new int[90];
test(array);
System.out.println(array[0]);
}
}
Das müsste als Output doch "0" liefern. Aber die test()-Methode hat das Array direkt beeinflusst und als Output erscheint "9". Müsste nicht eine Kopie durch pass-by-value an die test()-Methode übergeben worden sein? Wieso wurde das Array trotzdem beeinflusst?