使用Protostuff默认的RuntimeSchema时,在java类末尾添加字段总是安全的吗?

时间:2017-03-02 07:08:19

标签: java protocol-buffers protostuff

我以最基本的方式使用Protostuff RuntimeSchema:

Schema<Bean> schema = RuntimeSchema.createFrom(Bean.class);

我会在某处保存结果byte []并在将来反序列化它。

但我有可能在Bean.class中添加一些字段(并生成新的模式)。

我测试了一些,它工作正常,我可以将新字段设为null。

但我想确保它是否总是安全的,假设新字段总是在Bean的末尾添加,并且始终使用HotSpot JDK。

1 个答案:

答案 0 :(得分:0)

是的,如果将字段追加到字段列表的末尾,则是安全的。 RuntimeSchema根据字段中的顺序为字段分配标记。

但是,如果使用继承,事情可能会有点棘手。在这种情况下,您应该考虑使用@Tag注释。