2014-07-15 89 views
0

大家知道在Java中是否存在序列化MyClass对象并将其反序列化为MyAnotherClass对象的可能性?序列化一个类对象,并将它反序列化为另一个类

MyClass的对象有如下领域:

public class MyClass implements Serializable { 

private String text; 
private int number; 
private String abbrv; 

} 

而且MyAnotherClass:

public class MyClass implements Serializable { 

private String text; 
private int number; 
private String abbrv; 
private boolean b; 
private List<String> myList; 

} 

如果有可能,请告诉我该怎么做。

+0

油炸鱼,但作为鸡,不好;-) –

+0

你期望新的实例成员有什么值?没有 – Eypros

+0

我期望空值例如。 我知道,它的序列化很奇怪,但我需要它在我的系统中。 – Skyyy

回答

0

你可以,如果最初序列化对象的类包含一个

private Object readResolve() 

方法,或者如果它包含一个

private Object writeReplace() 

方法之前系列化,或者如果您使用的ObjectInputStream的受信任的子类,可以重写resolveObject()或覆盖replaceObject()的ObjectOutputStream的可信子类。

+0

感谢您的回答。我应该在readResolve/writeReplace方法中放入什么?只是简单的演员? – Skyyy

+0

这没有意义,会吗?在两个类之间进行投射将不起作用,因为它们与继承无关。你将不得不返回另一个类的实例。 – EJP

相关问题