亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

java.io.NotSerializableException

java.io.NotSerializableException

江戶川亂折騰 2019-07-27 10:22:08
java.io.NotSerializableException我有這個例外,我不明白為什么會拋出它,或者我應該如何處理它。try {     os.writeObject(element);} catch (IOException e) {     e.printStackTrace();}哪里element是一個TransformGroup包含一些其他TransformGroups類的Atom的一個實例:public class Atom extends Group implements Serializable{     float pozX,pozY;     Group group= new Group();        Color3f blue = new Color3f(new Color(255));     Color3f black = new Color3f(new Color(0));     Sphere AtSph=new Sphere();     public Atom(final float WEIGHT, final int BOUNDS,final float radius,Color3f color)     {         AppSetting ap= new AppSetting(color, black);         AtSph=new Sphere(radius,1,100,ap);     }}完整的錯誤日志:java.io.NotSerializableException: javax.media.j3d.TransformGroup     at java.io.ObjectOutputStream.writeObject0(Unknown Source)     at java.io.ObjectOutputStream.writeObject(Unknown Source)     at cls.MolecularBuilder.addAtom(MolecularBuilder.java:511)     at cls.MolecularBuilder$Console.HidrogenItemActionPerformed(MolecularBuilder.java:897)     at cls.MolecularBuilder$Console$2.actionPerformed(MolecularBuilder.java:746)     at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)     at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)     at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)     at javax.swing.DefaultButtonModel.setPressed(Unknown Source)     at javax.swing.AbstractButton.doClick(Unknown Source)     at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)     at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)     at java.awt.Component.processMouseEvent(Unknown Source)     at javax.swing.JComponent.processMouseEvent(Unknown Source)     at java.awt.Component.processEvent(Unknown Source)     at java.awt.Container.processEvent(Unknown Source)注意:AppSetting(在Atom類中)只是一個擴展Appearance的自定義類。
查看完整描述

3 回答

?
明月笑刀無情

TA貢獻1828條經驗 獲得超4個贊

對象的字段依次是它們的字段,其中一些字段沒有實現Serializable。在你的情況下,違規類是TransformGroup。怎么解決?

  • 如果班級是你的,那就去做吧 Serializable

  • 如果該類是第三方,但您不需要序列化形式,請將該字段標記為 transient

  • 如果您需要其數據及其第三方,請考慮其他序列化方法,如JSON,XML,BSON,MessagePack等,您可以在不修改其定義的情況下序列化第三方對象。


查看完整回答
反對 回復 2019-07-27
?
胡說叔叔

TA貢獻1804條經驗 獲得超8個贊

有時在序列化內部類實例時會出現“java.io.NotSerializableException”,因為:

“序列化這樣的內部類實例將導致其關聯的外部類實例的序列化”

“ 內部類的序列化(即,嵌套類不屬于靜態成員的類),包括本地和匿名類,被 強烈反對 ”

參考:可序列化接口


查看完整回答
反對 回復 2019-07-27
  • 3 回答
  • 0 關注
  • 563 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號