transient 关键字小结

avatar
作者
筋斗云
阅读量:0

作用及使用方法

一个对象实现了seriable就可以被序列化。transient作用于属性,用于对象在序列化的过程中,忽略对该变量的序列化。换个说法,该变量的生命周期只存在内存中,不能存在于磁盘中。

class User implements Serializable {     private static final long serialVersionUID = 8294180014912103005L;            private String username;     private transient String passwd;          public String getUsername() {         return username;     }          public void setUsername(String username) {         this.username = username;     }          public String getPasswd() {         return passwd;     }          public void setPasswd(String passwd) {         this.passwd = passwd;     }  } 

2. transient使用小结

  1. 只能作用于成员变量,序列化的时候会忽略该字段。
  2. 静态变量无论是否被transient修饰,都不能序列化。反序列化的时候会读取JVM中存放的静态变量的值。
  3. 被transient修饰的变量一定不能序列化吗?当实现externalizable的时候,这是一个自定义序列化的接口,可以定义序列化哪些字段。如果transient修饰的属性,又被定义了要序列化,以自定义序列化规则为准。

参考

  1. Java transient关键字使用小记

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!