
transient不会完全禁用序列化;它只是标记不会序列化的成员。通常用于未序列化对象时不正确或无关紧要的东西,或存储起来不太安全的东西(密码,解密的数据之类的东西),或可能导致无法序列化的东西。容易重建。
在这种情况下,我假设
Loan该类不可序列化。(如果是,那么A将是正确的。)将标记
v3为“
transient”只是告诉Java不必担心该字段,而是继续对其他字段进行序列化。这意味着未序列化的
Foo可能为null
v3。如果您还想存储
Loan,则需要跟踪足够的信息以随意重新创建它,或者更改类
Loan以使其也实现
java.io.Serializable。
另外,如果需要控制序列化,则可以使用一些方法(
writeObject,
readObject)来实现。但这可能有点麻烦。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)