![](/img/trans.png)
[英]No Exception is thrown when a serializable class is serialized with a Non-serializable reference field value is null
[英]Class field is a non-serializable interface, but its implementation is Serializable. Will it get serialized?
如果我序列化一个Parent
的实例,并将field3
分配给一个MyImplementation
的实例,那么field4
和field5
被序列化吗?
public class Parent implements Serializable {
public String field1;
public String field2;
public MyInterface field3;
}
public interface MyInterface {
String getText();
}
public class MyImplementation implements MyInterface, Serializable {
private static final long serialVersionUID = 12345464324324L;
public int field4;
public int field5;
@Override
public String getText() {
return "foo";
}
}
事实证明他们会的!
附言。 尽管您会收到 FindBugs 警告
“SE_BAD_FIELD - 可序列化类中的非瞬态不可序列化实例字段”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.