Java 中 transient 关键字用于标记字段在序列化时不需要被保存。语法:transient <类型> <字段名>; 场景:1. 字段不需要作为对象状态序列化;2. 字段包含敏感信息;3. 字段可以通过其他方式在反序列化时获得。
如何在 Java 中声明 transient 函数?
在 Java 中,transient
函数是一种标记,用于将字段标记为不需要序列化的字段。这意味着无论何时对包含 transient
字段的对象进行序列化,该字段都不会作为对象状态的一部分被写入流中。
语法:
transient <type> <field-name>;
场景:
实战案例:
假设我们有一个 Person
类,其中包含一个 password
字段。该字段不应作为对象状态的一部分进行序列化,因为它包含敏感信息。
public class Person implements Serializable { private transient String password; private String name; private int age; }
注意:
transient
关键字只能用于非静态成员变量。transient
字段在序列化过程中被忽略,因此在反序列化时将被设置为其默认值。transient
字段不会被 writeObject
和 readObject
方法调用。