gpt4 book ai didi

java - 格式化相同数据的方法有很多

转载 作者:bug小助手 更新时间:2023-10-28 10:49:52 24 4
gpt4 key购买 nike

这四种格式化相同数据的方式有什么区别吗?

    // Solution 1
System.out.printf("%.1\n",10.99f);

// Solution 2
System.out.format("%.1\n",10.99f);

// Solution 3
System.out.print(String.format("%.1\n",10.99f));

// Solution 4
Formatter formatter = new Formatter();
System.out.print(formatter.format("%.1\n",10.99f));
formatter.close();

最佳答案

前两个完全相同,因为 printf 实现为 ( source )

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

后两者也完全相同,因为 String.format 实现为 (source )

public static String format(String format, Object ... args) {
return new Formatter().format(format, args).toString();
}

最后,第 2 和第 4 大致相同,从 PrintStream.format ( source ) 的实现中可以看出。在引擎盖下,它还创造了一个新的Formatter(如果需要)并在该 Formatter 上调用 format

public PrintStream format(String format, Object ... args) {
try {
synchronized (this) {
ensureOpen();
if ((formatter == null)
|| (formatter.locale() != Locale.getDefault()))
formatter = new Formatter((Appendable) this);
formatter.format(Locale.getDefault(), format, args);
}
} catch (InterruptedIOException x) {
Thread.currentThread().interrupt();
} catch (IOException x) {
trouble = true;
}
return this;
}

关于java - 格式化相同数据的方法有很多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16583248/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com