将Java对象序列化为Java代码?

有没有将 Java对象序列化为 Java代码的实现?例如,如果我有对象
Map<String,Integer> m = new Map<String,Integer>();
m.put("foo",new Integer(21));

我可以序列化这个使用

ObjectOutputStream out = new ObjectOutputStream( ... );
out.writeObject( m );
out.flush();

并且输出将例如是

java.util.Map<String,Integer> m = new java.util.Map<String,Integer>(); 
m.put("foo",new Integer(21));

你为什么要这样?有时以编程方式部分创建复杂对象更容易,然后在代码中手动完成创建.然后,该代码可以包含在所有其他内容的源和版本控制中.请注意,使用外部的序列化对象不是可以区分的.

感谢您能给予任何帮助.

解决方法

我在一个新的github项目中实现了这个功能.你可以在这里找到这个项目:

https://github.com/ManuelB/java-bean-to-code-serializer

该项目除junit之外没有任何外部依赖关系.

目前它不支持串行化数组.然而,已经有很多功能

Object2CodeObjectOutputStream object2CodeObjectOutputStream = new Object2CodeObjectOutputStream(
            byteArrayOutputStream);
        object2CodeObjectOutputStream.writeObject(<your-java-bean>);
        System.out.println(
                byteArrayOutputStream.toString());

相关文章

ArrayList简介:ArrayList 的底层是数组队列,相当于动态数组。与 Java 中的数组相比,它的容量能动态增...
一、进程与线程 进程:是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。 线程...
本文为博客园作者所写:&#160;一寸HUI,个人博客地址:https://www.cnblogs.com/zsql/ 简单的一个类...
#############java面向对象详解#############1、面向对象基本概念2、类与对象3、类和对象的定义格式4、...
一、什么是异常? 异常就是有异于常态,和正常情况不一样,有错误出错。在java中,阻止当前方法或作用域...
Collection接口 Collection接口 Collection接口 Collection是最基本的集合接口,一个Collection代表一组...