Как построить форматированную строку в Java?

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

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

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

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

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

Ввод

x = 1
y = 2
z = 3

Выход

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

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

Ответ 2

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

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

Здесь вы найдете более подробную информацию о форматировании: синтаксис форматирования