2010-06-04 16 views
8

我想寫一些代碼,將採取任何對象,並將其轉換爲該對象的字符串表示形式。序列化不會包含任何瞬態屬性,toString()通常是該對象的內存地址。我不能指望該對象具有一個有意義的toString()定義或實現Serializable。Java:如何將任何對象轉換爲數據的字符串表示

有什麼方法可以確定對象中的數據並將其轉換爲字符串?如果需要的話,我會願意寫一些東西來遍歷整個類並使用反射來查找數據,但是我希望找到一些更簡單的東西。

任何建議,將不勝感激。謝謝。

+0

您不清楚您是否需要信息表示(用於顯示,調試)或文本序列化(以便可以從字符串恢復對象)。 – leonbloy 2010-06-04 18:28:34

回答

11

抓住apache的commonns-lang。它有一個ReflectionToStringBuilder,會爲你穿線。

它還接受樣式以允許您自定義輸出。

3

XMLEncoder可能是合適的。它將對象序列化爲XML,這是人類可讀的。

相關問題