System.out.printf 与 System.out.format

问题描述 投票:0回答:5

System.out.printf
System.out.format
完全一样还是可能有所不同?

java format printf
5个回答
59
投票

System.out
是一个
PrintStream
,并引用
PrintStream.printf

的 javadoc

调用此方法 形式

out.printf(l, format, args)
其行为方式与调用完全相同
out.format(l, format, args)


18
投票

两个 printf 重载表单的实际实现

public PrintStream printf(Locale l, String format, Object ... args) {
    return format(l, format, args);
}

public PrintStream printf(String format, Object ... args) {
        return format(format, args);
}

使用 format 方法的重载形式

public PrintStream format(Locale l, String format, Object ... args)

public PrintStream format(String format, Object ... args)

分别。


17
投票

没有区别。它们的行为都相同


0
投票

它们之间的区别在于 printf() 将格式化的字符串打印到控制台,就像 System.out.println() 一样,但是 format() 方法返回一个格式化的字符串,您可以存储或使用它你想要的方式。


-2
投票

printf
format
方法之间的主要区别是:

  • printf:将格式化的字符串打印到控制台,就像 System.out.println() 一样,但是
  • format:方法返回一个格式化的字符串,您可以按照您想要的方式存储或使用它。

否则,根据其功能,使用性质也有所不同。向数字添加前导零的示例:

int num = 5;
String str = String.format("%03d", num);  // 005
System.out.printf("Original number %d, leading with zero : %s", num, str);
// Original number 5, leading with zero : 005
© www.soinside.com 2019 - 2024. All rights reserved.