是否有可能使用比較器序列化TreeMap?Java序列化比較器
我測試過,它沒有比較器的序列化樹形圖,當你添加比較器時,它會拋出一個異常。
如果我將比較器聲明爲transient,它仍然不起作用。它只有在我使每個樹形圖都是瞬態的時候才起作用,但在這種情況下它不會序列化樹。
是否有可能使用比較器序列化TreeMap?Java序列化比較器
我測試過,它沒有比較器的序列化樹形圖,當你添加比較器時,它會拋出一個異常。
如果我將比較器聲明爲transient,它仍然不起作用。它只有在我使每個樹形圖都是瞬態的時候才起作用,但在這種情況下它不會序列化樹。
您可能會發現它與將比較器字段更改爲靜態而非實例成員一樣簡單:
public final static Comparator<String> ID_IGN_CASE_COMP
您需要確保所有其他字段都是可序列化的,但這應該是一個開始。
它不是'因爲比較器是不可序列化的,但即使我聲明它是暫時的,它仍然會因爲使用比較器的TreeMap而拋出。 – d0pe
然後答案肯定是使比較器序列化。 –
TreeMap在這裏沒有做任何特別的事情。如果序列化的TreeMap和不是你的比較器的TreeMap唯一的區別...那麼你的比較器是不可序列化的。
你是如何執行比較器的?對於沒有臨時引用的TreeMap類,您的臨時聲明是毫無意義的。
這個例外是什麼意思?
你試圖序列化哪個類的對象? –
程序中的所有類都在實現和導入序列化。 這是一個動物園課 – d0pe
請提供例外。這聽起來像你的比較器不是可序列化的,但堆棧跟蹤將顯示哪個類失敗。 – PSpeed