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

问题描述 投票:0回答:1

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

import com.xyz.NotSerializableClass;

public class SerializableClass implements Serialiazble{

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

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

java android android-intent serialization
1个回答
0
投票

这取决于你对NotSerializableClass做了什么。只要SerializableClass不保留对NotSerializableClass的引用,你应该没问题,但有许多微妙的方法可以保留引用,例如:

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

当然还有一些不那么微妙的方法:

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

还有一些,这些只是我的头脑

© www.soinside.com 2019 - 2024. All rights reserved.