2011-02-05 11 views
1

Javaオブジェクトのすべての属性をダンプする必要があります。私はこれを行ういくつかの関数を見つけましたが、どれも自己参照と私が無限再帰に螺旋関数のすべてを発見した関数を扱っていません。Javaオブジェクトをダンプする

//私はAndroid上でこの機能を実行しますが、それは本当に重要ではありません。

+2

は、デバッガを使用して対象物を検査すると考えられている...特に自己言及の話を自分のサイトからの例です...

Cd bj = new Cd("basement_jaxx_singles"); List order = new ArrayList(); // adds the same cd twice (two references to the same object) order.add(bj); order.add(bj); // adds itself (cycle) order.add(order); XStream xstream = new XStream(); xstream.alias("cd", Cd.class); System.out.println(xstream.toXML(order)); 

、出力はありますか? – cdmckay

答えて

1

これはデバッグのためだけのもので、何らかの基本シリアル化が必要な場合は、XStreamを参照してください。ここで

<list> 
    <cd> 
    <id>maria rita</id> 
    </cd> 
    <cd> 
    <id>basement_jaxx_singles</id> 
    </cd> 
    <cd reference="../cd[2]"/> 
    <list reference=".."/> 
</list> 
+0

私はこれを試してxstreamを使用しますが、プライベートフィールドはサポートしていません:/ – Prospero

+0

これは正しいとは言えません。このページをチェックしてくださいhttp://xstream.codehaus.org/tutorial.html "XStream doesn 'フィールドの可視性を気にしない」 –

関連する問題