PrintWriter.printf和PrintWriter.format方法之间的区别

时间:2009-08-01 11:51:40

标签: java

Java PrintWriter方法printfformat之间有什么区别吗?

文档说printf是一种方便的方法,但如果它的行为与format完全相同,那么我不明白它的方便之处。

3 个答案:

答案 0 :(得分:4)

一种便利方法顾名思义 - 它只是为了方便而存在,不一定是为了功能。

存在便利方法的一种常见情况是具有多个参数的方法,但某些参数以特定方式使用。很多时候,相同的方法会被不同的参数重载。

请使用以下代码:

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的意思,这并没有表达人们试图用格式化来执行输出的意图。

答案 1 :(得分:2)

根据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);
 }

答案 2 :(得分:1)

这里的便利可以用两种方式解释。

第一种方式

开发人员通常更熟悉“printf”功能。因此经常使用它。

第二种方式

如果要对printf和格式进行任何更改(如果有任何错误或功能),

一个函数可用于保留旧功能,另一个函数可以轻松修改。