如何在Java中构建格式化的字符串?

mač*_*ček 13 java string string-interpolation

我对Java有点新,但我不喜欢我在教科书中看到的字符串连接的大量使用.

例如,我想避免这样做:

String s = "x:"+x+"," y:"+y+", z:"+z;
Run Code Online (Sandbox Code Playgroud)

是否可以使用与此类似的表示法构建字符串:

String s = new String("x:%d, y:%d, z:%d", x, y, z);
Run Code Online (Sandbox Code Playgroud)

输入

x = 1
y = 2
z = 3
Run Code Online (Sandbox Code Playgroud)

产量

"x:1, y:2, z:3"
Run Code Online (Sandbox Code Playgroud)

注意:我知道我可以输出格式化的字符串,System.out.printf()但我想将格式化的字符串存储在变量中.

xec*_*s12 32

String s = String.format("x:%d, y:%d, z:%d", x, y, z);
Run Code Online (Sandbox Code Playgroud)

Java Howto - 格式化字符串


Kar*_*ski 5

对的,这是可能的.本String类包含的format()方法,像你期望它的工作原理.例:

String s = String.format("x:%d, y:%d, z:%d", x, y, z);
Run Code Online (Sandbox Code Playgroud)

在这里,您有关于格式的更多详细信息: 格式化语法