0
我有不同種類的可序列化的ObjectState
的存儲重要應用程序對象的狀態數據。我這樣做,所以我可以堅持這些重要的對象arcoss應用instatances。用戶有時需要將某些對象組合到容器中,因此ObjectState
的一些被放入ObjectState
的數組中,並傳遞給ContainerState
(只是一個包含可序列化的泛型類型的可序列化類)。Java:De-Serialize一個泛型序列化的容器?
我的問題是,如何反序列化ContianerState
並保持類型完整性?我想我可以嘗試這樣的:
public static ContainerState<V> inflateState(V v, Serializable state) throws ClassCastException {
return (ContainerState<V>)state;
}
但是,這甚至不會通過日食的警告系統。我也嘗試V.class
達到相同的結果。我能做到這一點甚至可能嗎?
編輯1:
我想這一點,似乎工作,但我不知道這是否是最好的方式。有什麼想法嗎?
public static <cls extends Serializable> ContainerState<cls> inflateState(Class<? extends Serializable> cls, Serializable state) throws ClassCastException {
return (ContainerState<cls>)state;
}
呵呵,謝謝,我想通了。我得出了你所做的確切結論,只是沒有回答我的問題(我是一個該死的懶鬼:-P)。因爲我沒有發佈信息,所以你的信用是你的。 – AedonEtLIRA