Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有人遇到过Java的通用对象到字符串格式化程序吗?_Java - Fatal编程技术网

有人遇到过Java的通用对象到字符串格式化程序吗?

有人遇到过Java的通用对象到字符串格式化程序吗?,java,Java,有人遇到过Java的通用对象到字符串格式化程序吗?我正在设想使用反射来发现任意对象的属性(可能只是一个JavaBean,但可能包括一些属性,它们是集合s或映射s),并将对象格式化为字符串?在这种情况下,我无法控制目标类的toString()实现 类似的东西是否存在于某个地方?对象序列化程序通常就是这样做的。例如,序列化为文本(更准确地说是JS),但也有其他的 不过,就性能而言,反射并不是最佳选择。此外,如果toString()返回值中包含某些类的私有成员,则这些成员可能会非常无趣,并会垃圾邮件发

有人遇到过Java的通用对象到字符串格式化程序吗?我正在设想使用反射来发现任意对象的属性(可能只是一个JavaBean,但可能包括一些属性,它们是
集合
s或
映射
s),并将对象格式化为
字符串
?在这种情况下,我无法控制目标类的
toString()
实现


类似的东西是否存在于某个地方?

对象序列化程序通常就是这样做的。例如,序列化为文本(更准确地说是JS),但也有其他的


不过,就性能而言,反射并不是最佳选择。此外,如果toString()返回值中包含某些类的私有成员,则这些成员可能会非常无趣,并会垃圾邮件发送您的输出。

反射存在性能问题,但它可能是实现真正通用格式化程序的唯一方法。通用?我想不是。例如,一个序列化的套接字将是什么样子。{“created”:false,“bound”:false,“connected”:false,“closed”:false,“closeLock”:{},“shutIn”:false,“shutOut”:false,“impl”:{“@class”:“java.net.socksocketimpl”,“Socket”:{“@reference”:“./…”,“port”:{“@defined in”:“java.net.SocketImpl”、“$”:“0”},“localport”:0,“timeout”:0,“trafficClass”:0,“shut\u-rd”:false,“shut\u-wr”:false,“fdUseCount”:0,“fdLock”:{},“closePending”:false,“CONNECTION\u-NOT\u-RESET”:0,“CONNECTION\u-RESET\u-PENDING”:1,“CONNECTION\u-RESET”“:2等与XStream一起使用,这样做非常容易。谢谢。