有谁能解释一下JVM在什么情况下抛出notserializableexception。
例句
class Emp implemenst Serializable
{
Address address = new Address();
}
class Address
{
Strign address;
}
在上述情况下,JVM会因为地址类不可序列化而抛出异常吗?
有人能解释一下吗?
问题是address没有实现Serializable,所以你必须实现它或者在Emp内部将Address标记为transient,这基本上意味着忽略serialization中的成员。
在这里阅读: https://en.wikibooks.org/wiki/Java_Programming/Keywords/transient
--
如果您想用Java序列化一个对象,那么该对象中的每个字段(及其字段,等等..)必须实现可序列化的接口。我们可以说每个对象都是单独序列化的。
这就是Java抛出这个异常的原因——其中一个字段是不可序列化的。