2014-10-18 3 views
0

У меня есть этот код в Java, методы геттерные возвращают строки:прилагая форматы для строк в Java

String stringbuilder=""; 
stringbuilder = String.format("%d/%d\n", this.getSlotNum(), this.getPortNum()); 
stringbuilder = stringbuilder+String.format(" " + this.getPortSpeed() +"\n"); 
stringbuilder = stringbuilder+String.format("%d\n", this.getPortMode()); 

C# имеет StringBuilder класс с помощью метода AppendFormat(), который позволяет мне добавлять отформатированную строку непосредственно в Экземпляр StringBuilder без необходимости выполнять конкатенацию. Я не вижу метод AppendFormat() в классе Java StringBuider. Есть ли лучший способ сделать то, что я пытаюсь сделать?

+2

Вы на самом деле не используя StringBuilder в первую очередь? – djechlin

+0

Вызов переменной 'stringbuilder' автоматически не означает, что вы используете объект' StringBuilder'. – csmckelvey

+0

Я знаю, что я не использую StringBuilder. Я конвертирую проект C# в Java. Легче было оставить переменную с именем «stringbuilder», чем реорганизовать ее. Класс Java StringBuilder, похоже, не имеет методов делать то, что я хочу. С String I, по крайней мере, есть метод format() –

ответ

0

От here выглядит как класс Java Formatter является то, что вы хотите:

Formatter formatter = new Formatter(); 
formatter.format("Hello, world\n"); 
if (name != null) { 
    formatter.format("My name is %s\n", name); 
} else { 
    formatter.format("Please email me at %s\n", email); 
} 
doUse(formatter.toString(); 
+0

, который тоже выглядит для меня. Благодарю. –

Смежные вопросы