这是我在这里的第一篇文章,但我真的需要这方面的帮助,因为我才刚刚开始学习 Java 中的序列化/反序列化:
我有一个看起来像这样的字符串:
String str = "ExampleClass[id=123,date=2009-07-12,state=OPEN]";
我的问题是:我可以反序列化它以便我可以访问该字符串中的信息吗?
我只见过他们使用 ObjectOutputStream
和方法 .writeObject()
首先创建文件然后从中读取的示例。
我也有一个看起来像这样的类:
public class ExampleClass implements Serializable {
protected String id;
protected Date startDate;
protected String state;
//other code...
public String toString(){
return "ExampleClass[id="+id+",date="+startDate+",status="state"]";
}
}
也许我还没有完全理解反序列化的概念,但希望我能在这里得到一个输入,并找出我正在尝试做的事情是否行不通或没有意义。 提前致谢!
最佳答案
不清楚你在问什么。您所描述的构成解析一个字符串,而不是反序列化它,这是微不足道的。
第二个示例的问题似乎始于 toString()
方法。为什么要拥有它?只需序列化实际对象,而不是其toString()
方法的结果,然后直接反序列化。字符串根本不进入其中。
关于java - Java 中字符串的反序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33467764/