java - printf() 和 format() 的方法调用架构/定义

标签 java format printf printstream

下面是 java.io.PrintStream 中 printf() 和 format() 方法的代码

  public java.io.PrintStream printf(java.lang.String, java.lang.Object...);
  public java.io.PrintStream printf(java.util.Locale, java.lang.String, java.lang.Object...);
  public java.io.PrintStream format(java.lang.String, java.lang.Object...);
  public java.io.PrintStream format(java.util.Locale, java.lang.String, java.lang.Object...);

这些方法由两个格式参数组成。 但是,当我们向这些方法传递一个参数并运行程序时,它运行成功。

我的问题是这些方法在哪里使用类似于 print() 或 println() 方法的单个参数定义,因为这些方法由单个参数组成(在 java.io.PrintStream 中定义)。

我尝试执行以下代码,它运行良好。

public class FormatAndPrintf {
public static void main(String args[]){
    System.out.printf("This is printed using printf() function.");
    System.out.format("This is printed using format() function.");
    System.out.println("++++++++++++++++++++++++++++++++++++++++==");
}
}

最佳答案

... 运算符是一种将(可变大小)参数数组传递给方法而无需手动创建数组的方法。正如您在随附的代码片段中所做的那样,不传递任何内容意味着该方法将获得一个空数组。

关于java - printf() 和 format() 的方法调用架构/定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44383402/

相关文章:

c - printf 如何在 ANSI-C 中编译(可变参数)

java - 无法找到或加载主类 sun.security.tools.jarsigner.Main

java - 为什么 java.net.SocketInputStream 不存在?

ruby-on-rails - Rails 页面缓存和自动扩展的问题

c - 无论如何,我不能在我的 Eclipse 中使用 fflush 来获得正确的控制台?

c - 在 C 中仅打印数组中的某些位置

javafx:如何使 TableCell Edit 返回 double 而不是字符串,并且字体会根据条件更改颜色?

java - 如何在运行时/启动时禁用 System.setOut 和 setErr?

R - strtoi 奇怪的行为来获取一年中的一周

javascript - 如何迭代 JSON 列表?