Java中的transient关键字
来源:互联网 发布:openstak网络架构 编辑:程序博客网 时间:2024/06/09 04:32
Java中的transient关键字用于声明当需要持久化变量时,有transient关键字修饰的变量无需持久化。如当需要序列化一个java对象时,该对象中的有transient修饰的field无需持久化,如下述代码所示:
public class TransientTest implements Serializable { private static final long serialVersionUID = -6317993139178374949L; private String username; private transient String passwd; public TransientTest(){ username= Thread.currentThread().getName(); passwd ="123456"; } public String toString(){ if(passwd == null){ passwd ="not set"; } return new String("UserName: " + username +"; Passwd: " +passwd); } public static void main(String[] args) { try { ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("logFile.txt")); TransientTest transientObj =new TransientTest(); System.out.println(transientObj); oos.writeObject(transientObj); oos.close(); ObjectInputStream ois =new ObjectInputStream(new FileInputStream("logFile.txt")); transientObj = (TransientTest) ois.readObject(); System.out.println(transientObj); } catch (Exception e) { e.printStackTrace(); } }}
上述代码的运行结果为:
UserName: main; Passwd: 123456
UserName: main; Passwd: not set
所以,Passwd并没有被持久化,而且当从磁盘中读取TransientTest类的实例时,并没有调用该类的默认构造器,而是直接将磁盘中的内容填充到该类实例中
- 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关键字
- HBase入门篇2-Java操作HBase例子
- linux中select()函数分析
- MonkeyRunner_monkey runner下图片比对
- IE10只能以管理员身份运行 解决办法
- Merge Two Sorted Lists
- Java中的transient关键字
- 自定义监听器监听数据库中数据的变化
- C++的Json解析库:jsoncpp和boost
- [2月21日的脚本] 在Windows 8中批移除只读文件的属性 (PowerShell)
- hdu 1062 字符串处理
- Access数据库
- EF直接更新数据(不需查询)
- COM组件开发笔记--字符串数组的传递
- oracle中sign函数简单示例