在 Spring 中,ExtJs 应用程序我使用 java 对象的 JSON 序列化。当我想从 JSON 中排除某个属性时,我使用 @Transient
注释。
我看到java transient
关键字也适用于此。我想知道其中哪一个在性能角度和安全性方面最好且更有效。
最佳答案
最好使用@Transient
注释,这会让你的意图更加明显。
看看这个:
private transient Somefield myField;
还有这个:
@Transient
private Somefield myField;
哪一个更明显?
transient
作为关键字“仅”用于在 Java 序列化期间忽略某些字段。您可以说注释更特定于领域,并且您的 JSON 处理器使用它会更好;安全性和性能方面,因为它会知道您想要做什么。
更不用说,如果一个字段被标记为 transient ,但没有注释,那么当您的对象通过网络传输时,您的实现将期望一个字段具有 null
值,但它不会得到任何结果,这可能会导致一些问题。
关于java - 从java transient 或@Transient注释隐藏JSON序列化属性的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17377549/