在实现Serializable的类中导入不可序列化的类是否会破坏序列化?

时间:2019-03-05 09:32:14

标签: java android android-intent serialization

在实现Serializable的类中导入不可序列化的类是否会破坏序列化?

import com.xyz.NotSerializableClass;

public class SerializableClass implements Serialiazble{

   public SerializableClass(NotSerializableClass notSerialiazble){
       //do something to notSerialiazble
  }
}

例如,我是否仍可以使用SerializableClass实例作为额外的意图传递?

1 个答案:

答案 0 :(得分:0)

这取决于您对NotSerializableClass执行的操作。只要SerializableClass不保留对NotSerializableClass的引用,就可以了,但是可以通过许多细微的方式保留引用,例如:

  • 从构造函数中定义的Lambda表达式中引用变量notSerialiazble
  • 从构造函数中创建的匿名内部类中引用变量notSerialiazble

当然还有一些不太妙的方法:

  • NotSerializableClass添加为字段
  • NotSerializableClass添加为SerializableClass的内部类中的字段

还有可能,这些只是我的头上