Transient关键字的作用

在对象序列化的时候,有些变量不需要序列化,比如密码等,可以使用transient关键字来解决这个问题,transient修饰的变量不会被序列化。

例子:

 1 import java.io.*;
 2 import java.util.Date;
 3  
4
5 /** 6 * Created by leiqiang on 2014/7/25. 7 */ 8 public class TransientTest implements Serializable{ 9 private Date date = new Date(); 10 private String username; 11 private transient String password; 12 13 public TransientTest(String username,String password){ 14 this.username=username; 15 this.password=password; 16 } 17 18 @Override 19 public String toString() { 20 return new Date()+" username "+username+" : password "+password; 21 } 22 23 public static void main(String[] args) throws Exception{ 24 TransientTest transientTest = new TransientTest("lei","1234"); 25 System.out.println(transientTest); 26 FileOutputStream fileOutputStream = new FileOutputStream("d:/Cache/TransientTest.txt"); 27 ObjectOutputStream objectOutputStream = new ObjectOutputStream(fileOutputStream); 28 objectOutputStream.writeObject(transientTest); 29 objectOutputStream.close(); 30 Thread.sleep(2000); 31 FileInputStream fileInputStream = new FileInputStream("d:/Cache/TransientTest.txt"); 32 ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream); 33 transientTest = (TransientTest)objectInputStream.readObject(); 34 System.out.println(transientTest); 35 } 36 }

运行结果:

1 Fri Jul 25 13:56:13 CST 2014 username lei : password 1234
2 Fri Jul 25 13:56:15 CST 2014 username lei : password null

转载于:https://www.cnblogs.com/leistrong/p/3867885.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值