Zusammengesetzer String, nur bestimmten Wert daraus mit führenden Nullen

AssELAss

Aktives Mitglied
Hallo folgendes Problem: ich möchte die fürenden NUllen nur vor dem vo.getMINR haben.
Leider bekomm ich diese nur vor den gesamten String

Java:
String verlInfo = "Aktenzeichen: " + vo.getUNFN() + ", Name: " + vo.getVNAME71() + " "  + vo.getNNAME71() +", Geburtsdatum: " + vo.getGEBD71().mccCDateBaseToFormatDate()+ ", Mitglieds-Nr: " + vo.getMINR();
		
		    if (vo.getMINR().length() <= 7) {
		        final StringBuffer result = new StringBuffer(8);
		        for (int i = 7 - vo.getMINR().length(); i > 0; i--) {
		            result.append('0');
		        }
		       //result.append(vo.getMINR());
		        result.append(verlInfo);
		        return result.toString();
		    } else {
		        return verlInfo;
		    }
 
Dann häng sie doch auch vo.getMINR vorne an und nicht dem StringBuffer result?! Warum gibt es das überhaupt?

EDIT: P.S.: Vermisst Du ne Methode à la append bei den Strings und benutzt deshalb StringBuffer? Versuch doch mal sowas wie

Java:
String s = "123";
s = "0" + s;
System.out.println(s);
 
Zuletzt bearbeitet:
EDIT: P.S.: Vermisst Du ne Methode à la append bei den Strings und benutzt deshalb StringBuffer? Versuch doch mal sowas wie

Java:
String s = "123";
s = "0" + s;
System.out.println(s);

!Achtung: In schleifen sollten Strings am Besten über einen StringBuilder (nicht threadsafe) oder einen StringBuffer (threadsafe) zusammengebaut werden. Der Grund ist das einfach das bei längeren Schleifen bzw. größeren Programmen die Laufzeit damit einfach besser ist und nicht unnötige String Objekte erzeugt werden!

Natürlich in kleinen Programmen oder Methoden zum Testen ist das alles kein Problem, und dass soll auch nur als Hinweis für später dienen 😉
 

Neue Themen


Zurück
Oben