2014-07-15 88 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

相關問題