Hallo Java Guru,
ich hab ein kleine Problem, und zwar habe ich eine Methode, der ich einen (leeren) String übergebe. In der Methode selbst erzeuge ich einen StringBuffer, fülle diesen ab und möchte ihn dann dem String zuweisen. Das Problem ist nun, dass die Zuweisung zwar funktioniert, aber sobald der Programmablauf ausserhalb dieser Methode ist, der String wieder den alten Wert annimmt. Wer kann mir da weiterhelfen?
Hier noch der Code:
Es ist mir zwar klar, dass property als Referenz übergeben wird. Mir ist aber nicht klar, weshalb das Objekt strBuf wieder gelöscht wird, obwohl es noch referenziert wird.
Gelöst hab ich das Problem nun, indem ich direkt den StringBuffer übergebe und ihn nicht erst in der Methode erzeuge. Aber das müsste doch auch anders gehn, oder?
Hat jemand eine Idee?
Gruss Fredy
ich hab ein kleine Problem, und zwar habe ich eine Methode, der ich einen (leeren) String übergebe. In der Methode selbst erzeuge ich einen StringBuffer, fülle diesen ab und möchte ihn dann dem String zuweisen. Das Problem ist nun, dass die Zuweisung zwar funktioniert, aber sobald der Programmablauf ausserhalb dieser Methode ist, der String wieder den alten Wert annimmt. Wer kann mir da weiterhelfen?
Hier noch der Code:
Code:
public void getProperty (String property)
{
StringBuffer strBuf = new StringBuffer();
// fuelle den StringBuffer mit Daten ab
fillUp(strBuf);
// kopiere den StringBuffer in den String
property = strBuf.toString();
}
Es ist mir zwar klar, dass property als Referenz übergeben wird. Mir ist aber nicht klar, weshalb das Objekt strBuf wieder gelöscht wird, obwohl es noch referenziert wird.
Gelöst hab ich das Problem nun, indem ich direkt den StringBuffer übergebe und ihn nicht erst in der Methode erzeuge. Aber das müsste doch auch anders gehn, oder?
Hat jemand eine Idee?
Gruss Fredy