关键字“瞬态”在Java中是什么意思?

2022-08-31 06:33:01

我在某处看到了


transient private TrackDAO trackDAO;


答案 1

谷歌是你的朋友 - 第一个命中 - 你也可能首先看看什么是序列化

它将成员变量标记为在持久保存到字节流时不进行序列化。当对象通过网络传输时,需要对对象进行“序列化”。序列化将对象状态转换为串行字节。这些字节通过网络发送,并从这些字节重新创建对象。由 java transient 关键字标记的成员变量不会被传输,而是有意丢失。

从那里的例子,稍微修改了一下(感谢@pgras):

public class Foo implements Serializable
 {
   private String saveMe;
   private transient String dontSaveMe;
   private transient String password;
   //...
 }

答案 2

Java 中的瞬态变量永远不会序列化。


推荐