println(String s)与println(Object o)有何区别?

3
2个回答

10

它们并不完全相同:

print(Object x) 调用 String.valueOf(x),它会返回:

(obj == null) ? "null" : obj.toString();

因此,我们有了额外的toString()方法。

结果是相同的,因为String.toString()返回this。但为了API的易用性,用户不应被强制理解这些细节。


2
PrintStream.print(Object x)

打印由生成的字符串

String.valueOf(Object)

但是

PrintStream.print(String x)

会打印字符序列,如果为null则打印null


2
但是对于空引用,valueOf返回“null”。 - aioobe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接