Avatar ·

Java übergibt Parameter nach Wert oder nach Referenz? Wir analysieren einen populären Mythos

Hallo zusammen! Ich bin ein Java-Anfänger und eine grundlegende Frage verwirrt mich ständig. Viele sagen, dass Java Objekte nach Referenz und Primitive nach Wert übergibt. Aber ich habe gelesen, dass Java tatsächlich immer Parameter nach Wert übergibt. Ich habe versucht, ein kleines Codebeispiel zu schreiben, um es zu verstehen, aber es hat mich noch mehr verwirrt. Hier ist das Beispiel: ```java public class Main { public static void main(String[] args) { int x = 5; changePrimitive(x); System.out.println("After changePrimitive: " + x); // Ausgabe: 5 StringBuilder sb = new StringBuilder("Hello"); changeObject(sb); System.out.println("After changeObject: " + sb); // Ausgabe: Hello World } public static void changePrimitive(int value) { value = 10; } public static void changeObject(StringBuilder builder) { builder.append(" World"); } } ``` Im ersten Fall hat sich der Primitive `int` nicht geändert – das ist verständlich, Übergabe nach Wert.