Эквивалент String.Format (.NET) в Java? - PullRequest
6 голосов
/ 21 июля 2011

Формат String.Format в .NET (может быть, только VB.NET) преобразует {0}, {1}, ... в определенную строку, например:

Dim St As String = "Test: {0}, {1}"
Console.WriteLine(String.Format(St, "Text1", "Text2"))

Я пыталсявыполняйте поиск в Google и в StackOverflow, но все они возвращают числовой формат строки.

Ответы [ 4 ]

8 голосов
/ 21 июля 2011

Другие предложения, конечно, хороши, но больше в стиле printf и его линии, которые являются более поздними дополнениями к Java. Код, который вы разместили, выглядит вдохновленным MessageFormat.

String format = "Test: {0}, {1}"
System.out.println(MessageFormat.format(format, "Text1", "Text2"))

Я не совсем уверен в том, что делает оператор 'Return:.

6 голосов
/ 21 июля 2011

Используйте MessageFormat.format, вы также можете указать аргументы форматирования в токенах замены.

message = MessageFormat.format("This is a formatted percentage " +
                "{0,number,percent} and a string {1}", varNumber, varText);
        System.out.println(message);

message = MessageFormat.format("This is a formatted {0, number,#.##} " +
                "and {1, number,#.##} numbers", 25.7575, 75.2525);
        System.out.println(message);

В качестве альтернативы можно использовать String.format, но это не гарантирует положение, например String.format("What do you get if you multiply %d by %s?", varNumber, varText);.

4 голосов
/ 21 июля 2011
String.format("Test: %s, %s",string1,string2)
0 голосов
/ 21 июля 2011
System.out.printf()
System.out.format()

Для других методов используйте:

StringBuilder sb = new StringBuilder();
Formatter f = new Formatter(sb, Locale.US);
f.format("my %s", "string");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...