我实习生。
今天( 2020-09-29 ),组长 review 我的代码时发现我 model 中的对象都没有实现 Serializable 接口,告诉我:”写得不对,所有有关落库、网络传输的对象都必须实现 Serializable 接口“。我不以为然,我印象中此接口是需要逐渐被废弃使用的,并且只有使用 Java 原生的序列化机制时才需要此接口。
我检查代码后还是觉得没必要实现 Serialzable 接口,原因:
rpc 业务层面使用 fastjson 编解码 json String
mybatis 的操作与 Serialzable 接口无关
业务层面前端入参和出参的 vo 也是 fastjson 编解码 json String
查了资料复习此接口的使用,发现和我印象中的理解偏差不大
以上,我认为此项目 model 中的对象不需要实现 Serializable 接口。
随后和组长、一些同事讨论了下,他们一致认为必须实现 Serialzable 接口,理由:
有序列化的地方必须实现
落库的对象必须实现
rpc 传输的对象必须实现
老的代码都实现了 Serialzable 接口,没有人是不这么做的,别想偷懒
老的项目中不实现 Serialzable 接口,然后踩坑了
我用我的原因进行反驳,同事的口径大致是:”如果我有能力承担不实现 Serialzable 接口带来的后果,那就不实现“。
我老老实实地把 model 中的对象都加上了 Serialzable 接口。
后续怎么想怎么不对,我感觉自己的想法没错,我只是想把代码写得干净一点,想来问问大家对此接口的看法。
Java model 对象必须实现 Serializable 吗?想知道大家都此接口的理解
如果我的想法没错,那么同事对 Serializable 接口的理解是否反映某些问题?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.