Java transient 关键字
示例
The transient
keyword prevents an attribute from being serialized
import java.io.*;
public class Main {
public static void main(String[] args) {
Person person = new Person();
person.fname = "John";
person.lname = "Doe";
person.age = 24;
person.accessCode = 5044;
// Serialize the object
ByteArrayOutputStream output = new ByteArrayOutputStream();
try {
ObjectOutputStream objOut = new ObjectOutputStream(output);
objOut.writeObject(person);
} catch (IOException e) {}
// Deserialize the object
Person person2 = new Person();
try {
ObjectInputStream objIn = new ObjectInputStream(new ByteArrayInputStream(output.toByteArray()));
person2 = (Person)objIn.readObject();
} catch(Exception e) {}
// Print the deseralized object
System.out.println("First name: " + person2.fname);
System.out.println("Last name: " + person2.lname);
System.out.println("Age: " + person2.age);
System.out.println("Access code: " + person2.accessCode);
}
}
class Person implements Serializable {
String fname = "John";
String lname = "Doe";
int age = 24;
transient int accessCode = 0;
}
定义和使用
The transient
keyword is a modifier that tells Java to ignore an attribute when serializing an object.
相关页面
在我们的 Java 修饰符教程 中了解更多有关修饰符的信息。