Java PrintWriter
方法printf
和format
之間是否有區別?PrintWriter.printf和PrintWriter.format方法之間的區別
該文檔說printf
是一種方便的方法,但如果它的行爲與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