Использование String.format

Как использовать String Formatter для конкатенации строк. то, что я пробовал, не работает.

  String description = "This is description,";
   String message = "This is message";

   String result = description + " " + message; //works fine.

   //I want to replace it using String.format.
   //I tried the below code and it does not work.

   String.format(description, " ", message);

Ожидаемый результат: This is description This is message

Как правильно использовать String.format.

Спасибо Р


person BRDroid    schedule 07.11.2017    source источник
comment
Я предлагаю использовать StringBuilder для объединения строк.   -  person Kaustubh Khare    schedule 07.11.2017
comment
В этом случае совершенно нормально объединить +, так как компилятор все равно преобразует его в StringBuilder.   -  person Korashen    schedule 07.11.2017


Ответы (3)


String.format("%s %s", description, message);

Заголовок функции:

public static String format(String format, Object... args)

Вы должны передать формат и переменные для установки. Многое изучите Javadoc.

person Kevin Robatel    schedule 07.11.2017

Попробуй это :

String.format("%s %s",description, message);
person Indent    schedule 07.11.2017
comment
Спасибо за это, в чем разница между %s и просто %. пожалуйста - person BRDroid; 07.11.2017
comment
%s вызов toString(), % не знаю - person Indent; 07.11.2017
comment
Использование только % не работает (с 1.7). Я думаю, что это опечатка, и правильный ответ будет %s %s. Я представил правку. - person Korashen; 07.11.2017

Код:

String description = "This is description %1$s";
String message = "This is message";
String finalText = String.format(description, message);

Вывод:

Это описание Это сообщение

person Premkumar Manipillai    schedule 07.11.2017