[JDK1.4]String formatieren auf anz Zeichen ohne while?

Anime-Otaku

Erfahrenes Mitglied
Hallo,

ich wollte mal fragen, ob es einen eleganteren und vorallem performanteren Weg gibt als dieser:

Java:
while (dummy.length() < 4) {
         dummy += " ";
}

bzw. das schlimmere wenn es in anders herum ist:

Java:
while (dummy.length() < 4) {
         dummy = " " +dummy;
}
Ich könnte natürlich das auch in eine switch Anweisung Packung, wenn soviel dann soviel Leerzeichen davor/dahinter.


Natürlich ist das für eine kleine Anwendung wenig Aussagekräftig, aber wenn man wie ich das mehrere 10000 mal ausführen muss in ein oder anderer Form ist das ein wenig ärgerlich.

Ich glaube unter Java 5 gibt es einen formatierer der ähnlich wie unter C arbeitet, aber den kann ich nicht verwenden, da ich auf 1.4 gebunden bin (durch ein Framework).
 
Hmm, so vielleicht?
Java:
// maximal benötigte Leerzeichen
String whitespace = "                               ";
int count = 4;
String myString = "testString";

System.out.println( whitespace.substring(0, count) + myString );
// bzw. andersrum

Aber ob das was bringt?
 
Zuletzt bearbeitet:
Ich weiss nicht wie die Jakarta Commons Leute das machen, aber deren Implementierung sind doch meist recht effizient:

StringUtils

LeftPad etc sind dafür passend.
 
Also ich würde das vermutlich mit einem Stringbutter machen, der vorher dem Zielstring entsprechend groß angelegt ist, damit nicht dort unterder decke noch ein weiteres Array angelegt und hineinkopiert werden muss. irgendwelche Formatierer in Spracherweiterungen dürften das unter der Decke auch nicht viel anders machen. Oder aber man bedient sich wie zeja nette zusatzbibliothken von denen man überzeugt ist, dass sie es gut und effizient tun.

Takidoso
 
Zurück