在我看来,PrintStream.print(Object x)和PrintStream.println(Object x)与PrintStream.print(String x)和PrintStream.println(String x)是一样的。
两者兼而有之有什么显而易见的原因吗?它们有什么不同吗?API-docs-可读性?效率?
(对于自动装箱,我怀疑即使是以原语作为参数的print方法也是多余的……然而,这些方法早于自动装箱功能,所以这是可以解释的。)
发布于 2010-09-16 15:52:59
他们不会做同样的事情:
print(Object x)调用String.valueOf(x),后者返回:
(obj == null) ? "null" : obj.toString();所以我们有一个额外的toString()方法。
结果是一样的,因为String.toString()返回this。但是为了便于使用API,不应该强迫用户理解这些细节。
发布于 2010-09-16 15:52:19
PrintStream.print(Object x)打印由生成的字符串
String.valueOf(Object)但
PrintStream.print(字符串x)
打印字符序列,如果为null,则打印null
https://stackoverflow.com/questions/3724671
复制相似问题