2014-03-06 102 views
-1

我在eclipse中使用FindBugs,並且有大量的「麻煩」警告。
這裏是草圖代碼:Java的可序列化對象包含不可序列化的字段

public class SerializableObject implements Serializable { 

    private NonSerializableObject nso; 

    .. setter, getter, everything else 

} 

難道這肇事?或者我們可以忽略它嗎?或者我們應該在它觸及的任何地方進行序列化?

它在JSF Web項目中。

+1

對於落後者和關閉建議:請發表評論您錯過了什麼,我是建設性的,對於我的問題有很好的回答,我認爲有些人理解我的問題。 – CsBalazsHungary

回答

3

你必須將它們標記爲transient

在聲明場瞬時將在序列化和反序列化過程中被忽略。請記住,當您使用瞬態字段反序列化一個對象時,該字段的值將始終爲默認值(通常爲空)。

+0

我覺得它對Java來說很新,謝謝你的回答!我應該像'private transient NonSerializableObject nso;'一樣使用它們嗎? – CsBalazsHungary

+0

是的。這是正確的使用方式 –

相關問題