簡體   English   中英

如果包含“對象”字段,如何使類可序列化

[英]How to make a class serializable if it include a field of “Object”

public class A implements Serializable
{
    private static final long serialVersionUID = 1L;
    private Object value;
    private Type type;
....
}

它包含不可序列化的“對象”,因此類A將呈現為不可序列化。

“對象值”可以是Integer,String ...,具體取決於“類型類型”

如何制作A序列化? 提前致謝!

編輯:如果使用“私有瞬態對象值”,“對象值”是否會丟失(當解除序列時)? 我不想失去它。

是否有一般的可序列化對象類型?

“對象值”可以是整數,字符串......

Integer和String都是可序列化的。 它會工作。 您無需執行任何特殊操作來序列化它們。

是否有一般的可序列化對象類型?

是的,可序列化:

private Serializable value;

您可以使用transient關鍵字跳過字段的序列化:

private transient Object value;

transient關鍵字服務器的目的

private transient Object value;

其他方法是,如果Object不代表您的實例,則使其為靜態。 靜態變量是隱式transient

如果使用“私有瞬態對象值”,“對象值”是否會丟失(當解除序列化時)? 我不想失去它。

如果不序列化變量,則其值將丟失。 序列化保存了類的實例狀態。 當實例將被反序列化時,它將具有Object值,但它將被初始化為默認值ie null。 所以是的,價值將會失去,無論如何,這是一個變量瞬態的目的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM