我正在学习Java格式,并一直使用printf和格式方法。 对我来说,这些似乎表现得完全相同。
为什么我应该使用一个而不是另一个?
一个被认为是更新的和/或更好的一个用作标准,如果是这样的原因?
答案 0 :(得分:4)
您使用它们的情况可能不同;如果您想要打印文本,通常更容易使用printf()
。如果你想用String做其他事情(例如把它放到图形元素或记录器中),那么你将使用String.format()
。
答案 1 :(得分:2)
PrintStream#printf(...)
方法实际上委托给PrintStream#format(...)
方法。所以不,应该没有区别。
编辑:
如果您正在谈论String.format(...)
,则会以完全相同的方式执行格式化;区别在于它返回格式化的String
而不是将其写入流。