鴻蒙OS Externalizable

2022-10-17 11:27 更新

Externalizable

public interface Externalizable
extends Serializable

只有 Externalizable 實(shí)例的類的標(biāo)識(shí)被寫入序列化流中,并且類有責(zé)任保存和恢復(fù)其實(shí)例的內(nèi)容。 Externalizable 接口的 writeExternal 和 readExternal 方法由一個(gè)類實(shí)現(xiàn),以使該類可以完全控制對(duì)象及其超類型的流的格式和內(nèi)容。這些方法必須顯式地與超類型協(xié)調(diào)以保存其狀態(tài)。這些方法取代了 writeObject 和 readObject 方法的自定義實(shí)現(xiàn)。對(duì)象序列化使用 Serializable 和 Externalizable 接口。對(duì)象持久性機(jī)制也可以使用它們。每個(gè)要存儲(chǔ)的對(duì)象都針對(duì) Externalizable 接口進(jìn)行了測(cè)試。如果對(duì)象支持 Externalizable,則調(diào)用 writeExternal 方法。如果對(duì)象不支持 Externalizable 并且實(shí)現(xiàn)了 Serializable,則使用 ObjectOutputStream 保存對(duì)象。重構(gòu) Externalizable 對(duì)象時(shí),會(huì)使用公共無參數(shù)構(gòu)造函數(shù)創(chuàng)建實(shí)例,然后調(diào)用 readExternal 方法。可序列化對(duì)象是通過從 ObjectInputStream 中讀取來恢復(fù)的。 Externalizable 實(shí)例可以通過 Serializable 接口中記錄的 writeReplace 和 readResolve 方法指定替換對(duì)象。

Since:

JDK1.1

方法總結(jié)

修飾符和類型 方法 描述
void readExternal(ObjectInput in) 該對(duì)象實(shí)現(xiàn)了 readExternal 方法來恢復(fù)其內(nèi)容,方法是調(diào)用基本類型的 DataInput 方法和對(duì)象、字符串和數(shù)組的 readObject 方法。
void writeExternal(ObjectOutput out) 對(duì)象實(shí)現(xiàn) writeExternal 方法以保存其內(nèi)容,方法是調(diào)用 DataOutput 的方法獲取其原始值,或者調(diào)用 ObjectOutput 的 writeObject 方法獲取對(duì)象、字符串和數(shù)組。

方法詳情

writeExternal

void writeExternal(ObjectOutput out) throws IOException

對(duì)象實(shí)現(xiàn) writeExternal 方法以保存其內(nèi)容,方法是調(diào)用 DataOutput 的方法獲取其原始值,或者調(diào)用 ObjectOutput 的 writeObject 方法獲取對(duì)象、字符串和數(shù)組。

參數(shù):

參數(shù)名稱 參數(shù)描述
out 將對(duì)象寫入的流

Throws:

Throw名稱 Throw描述
IOException 包括可能發(fā)生的任何 I/O 異常

readExternal

void readExternal(ObjectInput in) throws ClassNotFoundException, IOException

該對(duì)象實(shí)現(xiàn)了 readExternal 方法來恢復(fù)其內(nèi)容,方法是調(diào)用基本類型的 DataInput 方法和對(duì)象、字符串和數(shù)組的 readObject 方法。 readExternal 方法必須以與 writeExternal 寫入的相同順序和相同類型讀取值。

參數(shù):

參數(shù)名稱 參數(shù)描述
in 要從中讀取數(shù)據(jù)以恢復(fù)對(duì)象的流

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯(cuò)誤
ClassNotFoundException 如果找不到正在恢復(fù)的對(duì)象的類。
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)