共用方式為


ObjectInputStream.ResolveObject(Object) 方法

定義

這個方法可讓 ObjectInputStream 的信任子類別在還原串行化期間將一個物件取代為另一個物件。

[Android.Runtime.Register("resolveObject", "(Ljava/lang/Object;)Ljava/lang/Object;", "GetResolveObject_Ljava_lang_Object_Handler")]
protected virtual Java.Lang.Object? ResolveObject (Java.Lang.Object? obj);
[<Android.Runtime.Register("resolveObject", "(Ljava/lang/Object;)Ljava/lang/Object;", "GetResolveObject_Ljava_lang_Object_Handler")>]
abstract member ResolveObject : Java.Lang.Object -> Java.Lang.Object
override this.ResolveObject : Java.Lang.Object -> Java.Lang.Object

參數

obj
Object

要取代的物件

傳回

替代的物件

屬性

例外狀況

如果建立取代物件時發生任何 I/O 錯誤,則為 。

備註

這個方法可讓 ObjectInputStream 的信任子類別在還原串行化期間將一個物件取代為另一個物件。 取代物件會停用,直到呼叫 enableResolveObject 為止。 enableResolveObject 方法會檢查要求解析對象的數據流是否受信任。 每個可串行化對象的參考都會傳遞至 resolveObject。 若要確保物件的私用狀態並非無意中只公開受信任的數據流可能會使用 resolveObject。

這個方法會在讀取對象之後呼叫,但在從 readObject 傳回之前。 默認 resolveObject 方法只會傳回相同的物件。

當子類別取代物件時,它必須確保替代的對象與儲存參考的每個字段相容。 物件,其類型不是欄位或數位專案類型的子類別,會藉由引發例外狀況而中止串行化,而且不會儲存物件。

只有在第一次遇到每個物件時,才會呼叫這個方法一次。 物件的所有後續參考都會重新導向至新的物件。

java.io.ObjectInputStream.resolveObject(java.lang.Object)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於

另請參閱