Kleine Ergänzung
Hallo,
deine Aussage stimmt natürlich zu 100%, aber ich glaube hier hat der Ersteller ein Verständnisproblem.
Wenn du eine Variable in eine Methode übergibst, arbeitest du mit einer Kopie deiner Variable in der Methode. Das Original bleibt aber gleich. Deshalb gibst du einer Methode immer einen Rückgabetyp mit, sofern sie denn etwas zurück geben soll. So gibt bspw. die Methode
public String machWasSinnvolles(String variable){
//Mach was sinnvolles
return variable;
}
einen String zurück mit dem du dann weiter arbeiten kannst, sofern du ihn einliest, sonst verfliegt der Rückgabewert im GC. Natürlich kannst du den Rückgabewert frei bestimmen.
Der vollständigkeitshalber:
Hingegen gibt die Methode
public void machWasSinnvolles(String irgendwas){
//Mach irgendwas sinnvolles
}
gar nichts zurück. Das soll aber nicht heißen, dass die Variable die du in diese Methode übergibst, automatisch mit einem neuen Wert überschrieben wird. Dein Übergabewert ist immer eine Kopie.
Ich hoffe du hast verstanden was dein Fehler ist. Falls nicht frag nach 
Grüße
Jo