電子書籍の厳選無料作品が豊富!

JavaのPrintStreamクラスのprint()とprintf()メソッドに関して質問です。
どちらのメソッドもPrintStreamにデータを書き込でいるように思うのですが、print()メソッドには戻り値がないのに対し、printf()メソッドにはPrintStream型の戻り値が存在しているのはなぜでしょうか?
どなたかご回答いただければ幸いです。

A 回答 (1件)

ソースコードの簡略化のためです



printとprintlnは従来からのメソッドで
これを使うと次のような実装になります
PrintStream out = System.out;
out.println("a");
out.println("b");
out.println("c");

そしてJava5から下記のメソッドが追加されました
append、format、printf
これを使うと前述は次のように実装されます
PrintStream out = System.out;
out.append("a")
  .append("b")
  .append("c");

それだけのことと言えばたったそれだけのことなのですが
これによってStreamへの書き込みが
StringBuilderやStringBufferと同じインターフェースで行えるようになりました
その上outを記述する回数が減りました
Java5からは地味にコーディング量が減るようになっているので
その一環ですね
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございました。
おかげさまで理解が少し深まったように思います。

お礼日時:2012/03/01 23:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!