zoukankan      html  css  js  c++  java
  • java的transient

    今天遇到个了一个问题,在使用Swing的drap and drop处理JTree的时候,我的TreeNode中的UserObject中引用了java.awt.Image类。

    然后在dnd的时候会报java.io.NotSerializableException.

    由于不太了解dnd的data transfer,所以没解决这个问题

    最后发现java有transient关键字.

    copy来一段介绍

    /*transient 
    	  Java语言的关键字,用来表示一个域不是该对象串行化的一部分。当一个对象被串行化的时候,transient型变量的值不包括在串行化的表示中,然而非transient型的变量是被包括进去的
    
    	class A implements Serializable {
    	 private String name;
    	 transient private String address;
    	}
    
    	那么你在串行化(IO流等)A类时 给它的name和address属性赋值,那么你在提取A时,拿到了name属性,但是却拿不到address属性*/
    

    把Image的对象声明为transient,问题解决。

  • 相关阅读:
    人月神话阅读笔记01
    个人每日总结14
    个人每日总结13
    个人每日总结12
    个人每日总结11
    个人每日总结10
    个人每日总结9
    第五周学习进度表
    梦断代码阅读笔记
    05构建之法阅读笔记之五
  • 原文地址:https://www.cnblogs.com/xirtam/p/3557174.html
Copyright © 2011-2022 走看看