System.out.printf和String.format之间的区别
我可以知道java中两者有什么区别? 我正在读一本书,它可以使用它来显示字符串。
第一个写入stdout , 第二个返回String
对象。
使用哪个取决于唯一的目的。 如果要在stdout(控制台)中显示字符串,请使用第一个字符串。 如果要获取格式化字符串的句柄以在代码中进一步使用,则使用第二个。
String.format
返回一个新的String,而System.out.printf
只显示新格式化的String到System.out,有时也称为控制台。
这两段代码在function上是等效的:
String formattedString = String.format("%d is my favorite number", 42); System.out.print(formattedString);
和
System.out.printf("%d is my favorite number", 42);
String.format
格式化字符串,不显示它们。 我认为你的意思是System.out.println(String.format("......", ....))
或类似的构造?
String.format
返回格式化的字符串。 System.out.printf
还打印格式化的字符串。
这两种方法表现出完全相同的行为。 我们可以将格式(…)与String,Java.util.Formatter(J2SE 5)以及PrintWriter一起使用。