Подстановка строки в Java? - PullRequest
       15

Подстановка строки в Java?

2 голосов
/ 26 декабря 2011

Я делаю некоторую работу в обработке, которая в основном Java.Обычно я работаю только в Ruby, и я привык ко многим довольно элегантным и красивым соглашениям кода.

Если у меня есть строка, в которую я хотел бы вставить другие строки, какой самый красивый способ сделать это в Java?

В Ruby я обычно делаю что-то вроде этого (где каждая переменная является строкой):

p "The #{person_title} took a #{mode_of_transit} to the #{holiday_location} for a nice #{verb} in the #{noun}"

Может показаться, что в Java мне нужно вручную объединить их следующим образом:

println("The " + personTitle + " took a " + modeOfTransit + " to the " holidayLocation + for a nice " + verb + " in the " + noun)

Мне кажется, это неправильно.Это работает, но это просто не гладко.Есть ли способ сделать это в Java?

Ответы [ 4 ]

7 голосов
/ 26 декабря 2011

Ближайшим будет что-то вроде:

 String s = String.format("The %s took a %s to the %s for a nice %s in the %s", personTitle, modeOfTransit, holidayLocation, verb, noun);
3 голосов
/ 26 декабря 2011

Взгляните на метод String.format () для построения форматированной строки или PrintStream.format () для непосредственного форматирования и печати.(System.out является PrintStream.)

0 голосов
/ 26 декабря 2011

Вы можете использовать System.out.printf (аналогично System.out.format) и строку формата ("%s" - это спецификатор формата для строки), чтобы оба выглядели более текучая среда, а также форматировать вывод, как вы хотите.

Существует также String.format, который возвращает отформатированный String, вместо необходимости печатать его (например, sprintf в C).

0 голосов
/ 26 декабря 2011

Вы можете использовать метод System.out.format(), чтобы записать отформатированную строку в System.out или отформатировать строку, используя статический метод String.format. Подробнее о форматировании читайте в этой статье.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...