Java:静态瞬态字段

时间:2010-12-30 19:35:31

标签: java serialization static field transient

我刚刚在Java中发现你可以声明一个字段'静态瞬态' - 编译器不会抱怨。这似乎没有任何用处,因为我们都知道静态字段不是序列化的。

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

2 个答案:

答案 0 :(得分:16)

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

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

答案 1 :(得分:9)

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

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

PS:这个答案是为了完整性而发布的,基于Peter Lawrey's comment。给他的信用。