Java transient关键字
来源:互联网 发布:超基因优化液txt 编辑:程序博客网 时间:2024/06/03 16:31
Java的serialization提供了一种持久化对象实例的机制。当持久化对象时,可能有一个特殊的对象数据成员,我们不想用serialization机制来保存它。为了在一个特定对象的一个域上关闭serialization,可以在这个域前加上关键字transient。transient是Java语言的关键字,用来表示一个域不是该对象串行化(将对象存储到介质(如文件、内存缓冲区等)中或是以二进制方式通过网络传输)的一部分。当一个对象被串行化的时候,transient型变量的值不包括在串行化的表示中,然而非transient型的变量是被包括进去的。(注意:static变量也可以被串行化的)
先看下面的代码:
public class LoggingInfo implements java.io.Serializable { private Date loggingDate = new Date(); private String uid; private transient String pwd; LoggingInfo(String user, String password) { uid = user; pwd = password; } public String toString() { String password=null; if(pwd == null) { password = "NOT SET"; } else { password = pwd; } return "log info:" + " user : " + uid + " logging date : " + loggingDate.toString() + " password: " + password; } }
public class TestLoggingInfo {public static void main(String[] args) {LoggingInfo logInfo = new LoggingInfo("kongzi", "kongzi123"); System.out.println("写入前-->" + logInfo.toString()); try { ObjectOutputStream o = new ObjectOutputStream(new FileOutputStream("G:/ProgramFiles/logInfo.out")); o.writeObject(logInfo); o.close();} catch(Exception e) {e.printStackTrace();System.out.println("写入logInfo.out文件出现错误!!!");}try { ObjectInputStream in =new ObjectInputStream(new FileInputStream("G:/ProgramFiles/logInfo.out")); LoggingInfo logInfoIn = (LoggingInfo)in.readObject(); System.out.println("读出后-->" + logInfoIn.toString()); } catch(Exception e) {e.printStackTrace();System.out.println("读logInfo.out文件出现错误!!!");} }}
运行结果是:
这是当我们定义pwd域为transient时,所期望的正确结果。
转载自:http://www.blogjava.net/fhtdy2004/archive/2009/06/20/286112.html
- java关键字Transient
- java关键字Transient
- java关键字Transient
- java关键字Transient
- java关键字Transient
- java关键字Transient
- JAVA transient 关键字
- java关键字Transient
- Java transient关键字
- java关键字Transient (转)
- java的关键字transient
- java关键字Transient
- Java transient 关键字用法
- JAVA关键字transient
- Java transient关键字
- Java transient关键字
- Java transient关键字
- Java transient关键字
- 代码重构方向原则指导
- ORACLE RAC 视频教程
- DataGridView两列进行互换的源码
- Ubuntu下nfs的使用
- 【数据结构之排序10】基数排序
- Java transient关键字
- VegaFEM免费试用
- SQL on Hadoop 其中常用工具简单介绍
- errno, strerror (errno)) 错误打印
- Newtonsoft.Json解析json数据
- { }soj1141
- 新手学Python 第六篇(Python的对象)
- git remote命令查看远程仓库信息时,出现new ( next fetch will store in remotes/origin)提示
- PHP 找不到相应的头文件在扩展开发编译时