Java Transient Keyword Tutorial - 瞬态变量是不能序列化的变量

已发表: 2020-08-23

Java 瞬态关键字教程 - Crunchify

如果您需要序列化对象,则可以选择通过将特定字段marking it as transient来跳过序列化特定字段。

transient是一个 Java 关键字,它标记成员变量在持久化为字节流时不被序列化。

什么时候需要序列化一个对象?

当一个 Java 对象通过网络传输时,该对象needs to be serialized 。 序列化将对象状态转换为串行字节。

让我们看一下瞬态Java示例

  1. 首先让我们创建一个 POJO 对象 CrunchifyTransientVariableObject 实现 Serializable。
  2. 创建主类 CrunchifyJavaTransientFieldTutorial。
    • 创建一个对象。
    • 将对象写入文件。 文件输出流是用于将数据写入 File 或 FileDescriptor 的输出流。
    • 读取一个对象。
    • 如果字段是瞬态的——它将返回 0(对于 int)、null(对于字符串字段)等等。

CrunchifyTransientVariableObject.java

这里homeZip是一个瞬态变量。

CrunchifyJavaTransientFieldTutorial.java

运行程序:

使用瞬态关键字:

没有瞬态关键字:

删除上述程序中的瞬态关键字并再次重新运行程序。

如您在上面看到的,现在我们可以看到邮政编码 95112。

如果您发现序列化对象和瞬态变量有任何问题,请告诉我。