• ベストアンサー

Java print()とprintf()について

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

質問者が選んだベストアンサー

  • ベストアンサー
  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.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からは地味にコーディング量が減るようになっているので その一環ですね

pipi8290
質問者

お礼

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

関連するQ&A