Umtauschen von Objekten in Java [duplizieren]

Diese Frage hat hier bereits eine Antwort:

Ist Java "Pass-by-Reference" oder "Pass-by-Value"? 78 answers

Ich habe untersucht, dass Java als Referenz übergeben wird, aber wenn ich folgenden Code ausführe, werden die Zeichenfolgen nicht in der Hauptmethode ausgetauscht. Warum?

static void swap(String s1, String s2){
    String temp = s1;
    s1=s2;
    s2=temp;
}

public static void main(String[] args) {
    String s1 = "Hello", s2 = "world";
    swap(s1, s2);
    System.out.println(s1 + s2);
}

Antworten auf die Frage(8)

Ihre Antwort auf die Frage