一般来说,让简单的POJO Java类实现java.io.Serializable是一种最佳实践吗?
一般不是.Joshua Bloch表示明智地实施Serializable.他描述的缺点摘要:
降低了以后更改类实现的灵活性 - 序列化表单是类API的一部分
更容易出现一些错误和安全漏洞 - 攻击者可以访问序列化字节流中的类内部
增加测试负担 - 现在你必须测试序列化!
负担子类的作者 - 他们也必须使他们的子类Serializable
当然,有时你需要一个POJO来实现Serializable,比如RMI,但如果不需要,你的代码将更简单,更安全.