我刚刚发现在 Java 中你可以声明一个字段“静态瞬态”——编译器不会抱怨。众所周知,这似乎没有任何用处,因为静态字段没有序列化。
但我想知道,实际上是否存在“静态瞬态”字段有用的情况?
我刚刚发现在 Java 中你可以声明一个字段“静态瞬态”——编译器不会抱怨。众所周知,这似乎没有任何用处,因为静态字段没有序列化。
但我想知道,实际上是否存在“静态瞬态”字段有用的情况?
不 - 你自己说过,静态字段没有序列化。
编译器允许您这样做有点奇怪。
在大多数情况下,它没有用。静态字段确实没有被默认序列化程序序列化。
但是,static
transient
可以通过反射检测场。如果有人编写了自己的序列化程序并且他还想序列化静态字段,那么他可能会考虑transient
关键字并跳过该特定字段的序列化。
PS:为了完整起见,发布此答案,并且基于Peter Lawrey 的评论。归功于他。