Как построить отформатированную строку в Java? - PullRequest
13 голосов
/ 30 марта 2011

Я немного новичок в Java, но мне не нравится интенсивное использование конкатенации строк, которое я вижу в своем учебнике.

Например, я бы хотел избегать этого:

String s = "x:"+x+"," y:"+y+", z:"+z;

Можно ли построить строку, используя обозначение, подобное этому:

String s = new String("x:%d, y:%d, z:%d", x, y, z);

Input

x = 1
y = 2
z = 3

выход

"x:1, y:2, z:3"

Примечание: я понимаю, что могу вывести отформатированные строки, используя System.out.printf(), но я хочу сохранить отформатированную строку в переменной.

Ответы [ 2 ]

32 голосов
/ 30 марта 2011
String s = String.format("x:%d, y:%d, z:%d", x, y, z);

Java Howto - Форматирование строки

5 голосов
/ 30 марта 2011

Да, это возможно. Класс String содержит метод format(), который работает так, как вы ожидаете. Пример:

String s = String.format("x:%d, y:%d, z:%d", x, y, z);

Здесь у вас есть больше деталей о форматировании: синтаксис форматера

...