Java Strings einem Stringbuffer übergeben

Tron36

Ensign
Dabei seit
Jan. 2011
Beiträge
167
Hallo Leute

ich habe eine frage zu folgendem Code eine grundsätzliche frage:

Code:
boolean verify= false;
		for (String stringName: stringList) {
			if (verify) {
				sbReturn.append(", ");
			}
			stringBufferReturn.append(MessageFormat.format("\"{0}\"", stringName));
			verify= true;
		}
		stringBufferReturn.append(".");
return stringBufferReturn.toString();
Was geschieht eigl in Zeile 6?

wenn man z.B. 3 String in der stringList hat, bekommt man dann: \string1\string2\string3\
Mit der Zeile 9 dann: \string1\string2\string3\.

Lg Tron36
 
R

rob-

Gast
Stringbuffer reiht allein nur die Strings aneinander, ähnlich wie mit dem + Zeichen, nur deutlich effektiver da nicht für jede Kleinigkeit umkopiert wird, sondern erst mal gesammelt wird. Das Messageformat.format formatiert einfach den Text, damit kann man dann ein Datum in den Text einfügen usw.

Zeile 9 fügt auch einfach einen String an, der nur aus einem Punkt besteht.
 
Zuletzt von einem Moderator bearbeitet:

Tron36

Ensign
Ersteller dieses Themas
Dabei seit
Jan. 2011
Beiträge
167
Hi rob-,
danke für deine hilfe.

ich ich wollte eigl. fragen was
Code:
"\"{0}\"", stringName
macht?

Lg Tron36
 

DasBoeseLebt

Lieutenant
Dabei seit
Jan. 2010
Beiträge
686
Das sind Platzhalter für Eintrage im Array, welche dann durch den eigentlichen Inhalt des Arrays ersetzt werden.
 

Rossie

Commodore
Dabei seit
Dez. 2010
Beiträge
4.098
Man könnte den Code auch so schreiben:

Code:
...
String quotedString = MessageFormat.format("\"{0}\"", stringName);
stringBufferReturn.append(quotedString);
...
bzw. besser so:

Code:
public String createMessage(...) {
    ...
    result.append(quoteString(name));
    ...
}

private String quoteString(String rString) {
    return MessageFormat.format("\"{0}\"", rString);
}
Man sollte möglichst granular programmieren. Eine Methode sich möglichst auf eine Aufgabe beschränken. Benennt man die einzelnen Methoden sinnvoll, wird die Logik auch für unerfahrene Leser leicht verständlich.
 
Zuletzt bearbeitet: (cut&paste error)

Tron36

Ensign
Ersteller dieses Themas
Dabei seit
Jan. 2011
Beiträge
167
Hi,

danke für die antworten. Die Haben mir sehr geholfen.

lg Tron36
 
Top