2013-06-05 72 views
-2

我有用java SE編寫的服務器,並且客戶機是用android編寫的,當我在客戶機中序列化一個對象Map,然後我將它傳遞給服務器,服務器無法反序列化對象,反之亦然。所以,當我試圖反序列化像StringDate這樣的另一個對象時,工作正常。Android hashMap反序列化

+0

任何其他信息? – bsiamionau

+0

什麼類型的序列化? –

+0

什麼樣的數據存儲在你的地圖中? – AlexR

回答

2

Map s通常應該避免在接口中使用,尤其是涉及序列化時。

而是嘗試用包含相同數據的其他數據結構替換您的地圖。

例如,像創建一個對象:

public class MyObject implements Serializable { 
    Key keyOfMap; 
    Value valueOfMap; 
} 

和發送List<MyObject>或同等學歷。

這應該避免你所有的地圖問題。

+0

序列化。謝謝。我想過這個。 –

+0

但我想知道爲什麼地圖不反序列化,因爲當我在java SE中序列化時,服務器將對象反序列化 –

1

HashMap本身是Serializable。問題是如果你想序列化這個映射實例,它包含的所有鍵/值也必須是Serializable。

+0

所有對象都是實現Serializable –

+0

我不這麼認爲。只有實現java.io.Serializable的類可以使用ObjectOutputStream.writeObject –