[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[jfriends:00351] Re: オブジェクトの印刷
========== 楽天ビジネス http://business.rakuten.co.jp =========
□■□■□■□■□■□■□■□■ ●既に約3,000社の企業様がご利用中 ●
■ ビジネスサービス商談市場 □ ●必要なサービス提供企業が見つかる●
□ ★楽天ビジネス★ ■ ●素早く簡単に複数社からの見積獲得●
■□■□■□■□■□■□■□■□ ●サービス提供企業の登録も受付中 ●
------------------------------------------------------------------------
小薮です。
On Wed, 14 Mar 2001 21:59:34 +0900
in [jfriends:00348] オブジェクトの印刷
"Satoh" <kgd01422@xxxxxxxxxxxxxxxxx> wrote:
> たまたまJavaの参考書にオブジェクトの印刷例が
> 載っていました。
> オブジェクトは本来、クラスのインスタンス化された
> ものでそれ自体印刷する意味があるのかと思って
> おりましたが、...
>
> Systemクラスにprint(Object)メソッドがあって
> そのメソッドはvalueof(Object)を呼び出すらしい。
Systemクラスではなく、Systemクラスのパブリック
フィールド「out」じゃないですか? (errかも)
System.out.print(hoge);
とか書いてあったと思いますが。
System.outはPrintStreamということになってます。
あと、重箱の隅をつつくようで申し訳ないですが、
「印刷」ではないですね。
英語では標準出力などへの出力にもprintという単語を
使ってしまうようですが、日本語の場合「印刷」というのは
必ずプリンタへの出力になると思います。
> valueof(Object)はObject.toString()を呼び出す
> らしい。
>
> ということでオブジェクトを印刷するとそのクラスの
> toString()メソッドを呼び出して印刷するみたいです。
>
> ObjectクラスのtoString()メソッドをオーバーライド
> していないと当然Objectクラスのものが呼び出されて
> その結果”クラス名@ハッシュ関数結果の文字列”が
> 印刷されます。
>
> 上記は、つらつらAPIリファレンスをサーフィンした結果
> ですが、このオブジェクトの印刷の意味ってあるんで
> しょうかね。(使い道が今ひとつなんですが。)
toString()は、通常デバッグとかロギングなどの
用途のために使うものと理解してます。たとえば例外処理の中に
toString()の結果を出力する処理を入れておけば、
とりあえず問題のあるオブジェクトがどんなものかに関する
情報が得られます。
もっと別な形での出力が望ましければオーバーライド
すればよいわけです。
-----------------------------------
koyabu@xxxxxxxxxxxxxxxxx