Java transient关键字,
分享于 点击 40235 次 点评:122
Java transient关键字,
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
/**
* transient 关键字范例
* 该关键字标识的字段将不被序列化处理
* @author efanhome
*
*/
public class TransientTest implements Serializable{
private static final long serialVersionUID = -1126012957732929372L;
private String username;
private transient String password;
public TransientTest(String username, String password) {
this.username = username;
this.password = password;
}
@Override
public String toString() {
return "TransientTest [username=" + username + ", password=" + password
+ "]";
}
public static void main(String[] args) throws Exception {
//实例化
TransientTest tt = new TransientTest("efanhome", "admin");
System.out.println("before serialized: "+tt);
String path = ClassLoader.getSystemResource("").getPath();
path = path.substring(1) + "transientObj.out";
//序列化存储
ObjectOutputStream oos = new ObjectOutputStream(
new FileOutputStream(path));
oos.writeObject(tt);
oos.flush();
oos.close();
//反序列化
ObjectInputStream ois = new ObjectInputStream(
ClassLoader.getSystemResourceAsStream("transientObj.out"));
TransientTest t1 = (TransientTest) ois.readObject();
System.out.println("after serialized: " + t1);
ois.close();
}
}
执行结果:
before serialized: TransientTest [username=efanhome, password=admin]
after serialized: TransientTest [username=efanhome, password=null]
相关文章
- 暂无相关文章
用户点评