gpt4 book ai didi

serialization - 如果应用程序从不依赖其对象标识,是否可以序列化基于值的对象?

转载 作者:行者123 更新时间:2023-12-04 05:45:02 24 4
gpt4 key购买 nike

声纳显示

Make this value-based field transient so it is not included in the serialization of this class.



当基于值的类将被发布时,这是一个面向 future 的错误。

那么,如果应用程序从不依赖其对象标识,我是否可以使基于值的对象成为非 transient 对象?

最佳答案

为了使基于值的类的字段是非 transient 的,基于值的类必须是可序列化的。所以这实际上是一个不是由你做出的设计决定。

如果设计者将一个类声明为基于值并实现 Serializable ,他们假设基于值的类和序列化是兼容的,并将保持如此。

我们不知道最终的值类型实现会是什么样子,但是 JRE 开发人员提供的迁移路径,例如介绍时the immutable lists, being value based and serializable , 应该被采纳,而不是假设有超出规范的额外规则和约束。

毕竟,没有理由假设序列化不适用于值类型。它也支持原始值,并且在过去也进行了调整,例如当enum添加了支持。目前尚不清楚它是否会始终存储值,或者仍然像普通对象一样支持反向引用或执行完全不同的规范化,但只要您不依赖对象标识,就像您的前提一样,您就在安全的一面,因为任何一种策略都适用于您的代码。

关于serialization - 如果应用程序从不依赖其对象标识,是否可以序列化基于值的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47922917/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com