gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:00:50 25 4
gpt4 key购买 nike

是否有将 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));

你为什么要这个?有时,以编程方式部分创建复杂对象然后在代码中手动完成创建会更容易。然后可以将此代码包含在与其他所有内容一起控制的源代码和版本中。请注意,使用外部序列化对象也不异常(exception)。

感谢您提供的任何帮助。

最佳答案

我在一个新的 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());

关于java - 将 Java 对象序列化为 Java 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6281423/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com