2017-02-24 44 views

回答

2

如您所見,AttributedString類不實現Serializable並且不提供無參數構造函數。因此序列化失敗。 AFAIK,Java SE庫沒有任何東西可以處理這個(直接)。

不過,我發現了一個名爲org.jfree.io.SerialUtilities類,它提供了序列化,並通過ObjectOutputStream和反序列化ObjectInputStream對象AttributedString方法第三方庫。

要使用這些方法,通常需要爲使用這些類型的任何可序列化類編寫自定義readObjectwriteObject方法。我發現了一些例子在這裏:

0

https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html狀態如下:

在反序列化,非序列化類的字段將 使用公共或保護的 類的無參數的構造函數初始化。對於可序列化的子類,必須可訪問無參數構造函數。序列化子類的字段將從流中恢復爲 。

AttributedString沒有擴展子類可訪問的無參數構造函數,因此反序列化將失敗。