Java: 如何将任何对象转换为数据的字符串表示形式

8
我正在尝试编写一些代码,可以将任何对象转换为该对象的字符串表示形式。序列化不会包括任何瞬态属性,而toString()通常是对象的内存地址。我不能期望对象定义有有意义的toString()或实现Serializable。
是否有任何方法确定对象中的数据并将其转换为字符串?如果需要,我愿意编写一些代码来遍历类并使用反射查找数据,但我希望能找到更简单的方法。
如果您有任何建议,请告诉我。谢谢。

不清楚您是想要信息表示(用于显示、调试)还是文本序列化(以便从字符串中恢复对象)。 - leonbloy
4个回答

11

获取Apache的Commons Lang库。它有一个ReflectionToStringBuilder,它会帮助您完成反射字符串化。

它还接受样式,以允许您自定义输出。


5

XStream是将对象转换为XML的另一种选择。


3
可能适合使用 XMLEncoder。它将对象序列化为XML格式,易于阅读。

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接