我的一位教授曾经说过,永远不应该执行以下代码:
System.out.println(object.toString());
他说(我相信引用了“Effective Java”)它会导致双重调用。由于 print 语句调用对象的 toString 方法,因此调用两次 toString 方法的效率会降低。首选的方法是只使用:
System.out.println(object);
显然,这种方式在代码中看起来更好,并且可以节省时间。无论如何,我都会这样做,但我的问题是“这实际上更有效吗?”。在查看PrintStream文档时,print 方法已被重载以将 String 作为参数(如果首先调用 toString 方法就会出现这种情况)。我没有看到该版本的 print 方法调用输入参数的 toString 方法的位置,我认为这样做没有意义。
另外,对不起,如果这是重复的。我找不到任何关于它的主题。