- - PR -
オブジェクトの中身について
1|2|3
次のページへ»
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2009-01-26 11:44
エクリプスを使用しております。
javaはほぼ初心者なのでよろしくお願いします。 list型で返すAPIをlistで受け取ってます。 (返却されたlistにはユーザ定義型のlogoninfoやusrinfoが addされています。 listのgetよりobjで取得したものの中身を全て表示( userinfoには.name,.id,.passといったものがあるため) させたいのですが どのようにしたらよろしいのでしょうか? ソースは下記のようにしております。 List usrdt = serchLogon(userid,userpass); for (int i=0;i<usrdt.size();i++){ Object obj = usrdt.get(i); System.out.print(obj + "\r"); } 現状だとobjの型名しか表示されないです。 jp.go.api.UserInfo等 |
|
投稿日時: 2009-01-26 11:53
System.out.println(Objcet)は、デフォルトで
Object.toString()を呼び出します。 したがって、printlnで望む出力がしたければ、それぞれのクラスの toString()をオーバーライドすればOK。 |
|
投稿日時: 2009-01-26 12:12
>したがって、printlnで望む出力がしたければ、それぞれのクラスの
>toString()をオーバーライドすればOK。 いまいち、よくわかりません。 具体的には、どういうことなのでしょうか? obj.getClassを使用? |
|
投稿日時: 2009-01-26 12:18
鸚鵡返しにする前に、まずは
http://www.google.com/search?q=tostring+%E3%82%AA%E3%83%BC%E3%83%90%E3%83%BC%E3%83%A9%E3%82%A4%E3%83%89 こういうところから見てみましょう。 |
|
投稿日時: 2009-01-26 13:52
なるほど。
なんとなくわかりました。 サブクラスでtostringを用意しないと いけないのですね。 ちなみに他の方法はないのでしょうか? サブクラス内にtostringを用意せず 出力できればよいのですが? |
|
投稿日時: 2009-01-26 14:06
全てのプロパティをgetして出力すればできます。
例えば System.out.println("name="+userinfo.getName()); こんな感じで並べていけばOKです。 System.out.println(userinfo); のみで行おうとするならば toStringのオーバーライドが必須です。 |
|
投稿日時: 2009-01-26 20:24
toStringの実装は面倒ですよね。
CodeSugarプラグインが便利ですよ。 http://codesugar.sourceforge.net/ |
|
投稿日時: 2009-01-27 01:21
toString()の実装が最も簡単だと思いますが…
どなたか、何が面倒だと感じさせるのか説明していただけませんか? |
1|2|3
次のページへ»