在我看来,这PrintStream.print(Object x)和PrintStream.println(Object x)是相同的PrintStream.print(String x)和PrintStream.println(String x).
两个都有明显的理由吗?他们有什么不同吗?API-docs的可读性?效率?
(使用自动装箱,我怀疑即使采用原语作为参数的打印方法也是多余的......但是这些方法早于自动装箱功能,因此可以解释.)
Boz*_*zho 10
他们不这样做同样的事情:
print(Object x)调用String.valueOf(x),返回:
(obj == null) ? "null" : obj.toString();
Run Code Online (Sandbox Code Playgroud)
所以我们有一个额外的toString()方法.
该结果是一样的,因为String.toString()回报this.但是为了便于API的使用,不应该强迫用户理解这些细节.