PrintWriter.printf和PrintWriter.format方法之间的区别
问题描述:
Java PrintWriter
方法printf
和format
之间是否有区别?PrintWriter.printf和PrintWriter.format方法之间的区别
该文档说printf
是一种方便的方法,但如果它的行为与format
完全一样,那么我不明白它的便利性。
答
便利方法的名称就是暗示 - 它只是为了方便而存在,并不一定适用于功能。
存在便利方法的一种常见情况是具有多个参数的方法,但某些参数以特定方式使用。很多时候,同样的方法会被不同的参数重载。
采取以下代码:
public void myMethod(int value, boolean hasImportance) {
// do something.
}
public void myMethod(int value) {
myMethod(value, true);
}
在上面的例子中,myMethod(int)
方法可以被认为是作为用于myMethod(int, boolean)
一个方便的方法,因为它提供了一个默认参数为它的一个参数。
在PrintWriter.printf
的情况下,它基本上是调用PrintWriter.format
,但只是提供了一种调用format
方法的替代方法。
可能创建printf
方法的便捷方法背后的理由是因为printf
方法的命名传达了一个试图输出,格式,而不仅仅是format
,不传达的意图,一个是意义试图通过格式化来执行输出。
答
据this,它们是相同的
/**
...
* <p> An invocation of this method of the form <tt>out.printf(format,
* args)</tt> behaves in exactly the same way as the invocation
*
* <pre>
* out.format(format, args) </pre>
...
*/
public PrintWriter printf(String format, Object ... args) {
return format(format, args);
}
答
这里方便可以用两种方式来解释的。
第一种方式
开发商一般都用的“printf”功能有更多的了解。因此经常使用它。
方式二
如果任何变化都被制成printf和格式(在任何错误或功能的情况下),
一个函数可用于保留旧的功能,而另一个可以是很容易修改。
我想说它的便利在于现在有一个名为printf()的方法 - 作为c函数进行参数化 - 用于所有与打印条纹相关的对象。因此,您不必像以前那样记住那些专有的打印方法名称,只需使用printf即可。 – Zed 2009-08-01 12:08:10