开发者

String.Format (.NET) equivalent in Java?

开发者 https://www.devze.com 2023-03-22 01:02 出处:网络
The String.Form开发者_JAVA技巧at in .NET (maybe just VB.NET) convert {0}, {1}, ... into determined String, for example:

The String.Form开发者_JAVA技巧at in .NET (maybe just VB.NET) convert {0}, {1}, ... into determined String, for example:

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

I've tried to search in both Google and StackOverflows, but they all return number-string format.


The other suggestions are certainly good, but are more in the style of printf and its lineage which are more recent additions to Java. The code you posted looks to be inspired by MessageFormat.

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

I'm not really certain about what the 'Return: statement is doing though.


Use MessageFormat.format, you can also provide formatting arguments in the replacement tokens.

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);

Alternatively, String.format can be used but this doesn't guarantee position e.g. String.format("What do you get if you multiply %d by %s?", varNumber, varText);.


String.format("Test: %s, %s",string1,string2)


System.out.printf()
System.out.format()

For other methods use:

StringBuilder sb = new StringBuilder();
Formatter f = new Formatter(sb, Locale.US);
f.format("my %s", "string");
0

精彩评论

暂无评论...
验证码 换一张
取 消