Java中静态最终瞬态的影响是什么?

wvd*_*vdz 8 java static final transient

在我正在处理的代码库中,几乎所有声明的变量都static final String被声明transient.

所以我有以下领域:

public static final transient String VERSION = "1.0";
Run Code Online (Sandbox Code Playgroud)

transient每当我发现这些关键字时,我都很想删除这些关键字,因为我认为它不会用于任何目的.

transient在这种情况下,使用与否之间的行为是否有任何区别?

Gaë*_*l J 8

一个static字段是隐式transient(序列化时static场,它的价值总会丢失).所以确实,没有必要同时宣布两者.

  • 如果您说该值丢失,该字段是否为序列化的一部分而没有值(例如null),或该字段从未作为属性使用? (2认同)