53

我刚刚发现在 Java 中你可以声明一个字段“静态瞬态”——编译器不会抱怨。众所周知,这似乎没有任何用处,因为静态字段没有序列化。

但我想知道,实际上是否存在“静态瞬态”字段有用的情况?

4

2 回答 2

18

不 - 你自己说过,静态字段没有序列化。

编译器允许您这样做有点奇怪。

于 2010-12-30T19:37:58.953 回答
17

在大多数情况下,它没有用。静态字段确实没有被默认序列化程序序列化。

但是,static transient可以通过反射检测场。如果有人编写了自己的序列化程序并且他还想序列化静态字段,那么他可能会考虑transient关键字并跳过该特定字段的序列化。

PS:为了完整起见,发布此答案,并且基于Peter Lawrey 的评论。归功于他。

于 2015-09-15T09:18:03.767 回答