私の教授はかつて、次のコードは決して実行すべきではないと言いました。
System.out.println(object.toString());
彼は言った(そして私は「効果的なJava」を引用したと思う)それは二重呼び出しを引き起こす. print ステートメントはオブジェクトの toString メソッドを呼び出すため、 toString メソッドを 2 回呼び出すと効率が低下します。推奨される方法は、次を使用することです。
System.out.println(オブジェクト);
明らかに、この方法はコードで見栄えがよく、時間を節約できます。私はいつもこのようにしていますが、私の質問は「これは実際により効率的ですか?」です。PrintStreamのドキュメントを見ると、print メソッドがオーバーロードされて、パラメーターとして String を受け取るようになっています (これは、toString メソッドが最初に呼び出された場合に当てはまります)。そのバージョンの print メソッドが入力されたパラメーターの toString メソッドを呼び出す場所がわかりません。それを行う意味があるとは思いません。
また、重複していたらすみません。それに関するトピックは見つかりませんでした。