创建实现Serializable / Parcelable的Firebase POJO类

时间:2018-09-03 10:59:24

标签: java android firebase pojo

我在Stackoverflow中看到了这篇文章。如果我想将一个对象传递给另一个活动,则该类应可序列化。所以我的问题是,是否可以将可序列化实现为Pojo类?如果我要实现Serializable或Parcelable,是否有任何冲突?

3 个答案:

答案 0 :(得分:2)

只要您的POJO的每个成员还实现了Serializable,您就可以了。

仅当您的POJO包含一个子成员(另一个POJO)并且该POJO没有实现Serializable时,才会发生冲突。

默认情况下,像String,int,enums等成员是可序列化的,因此,只有在存在不实现Serializable的非平凡属性时,才应注意。

答案 1 :(得分:1)

是的,可以对POJO类实现Serializable或Parcelable。 首先,简单介绍一下: 可序列化是标准的Java接口。它正在使用反射,这是一个缓慢的过程。这种方法会创建许多临时对象,并导致大量垃圾回收。 可拆分过程比可序列化要快得多。它是Java Serializable的Android实现。它假定某种结构和处理方式。与标准Java序列化相比,这种方式可以相对快速地处理Parcelable。

答案 2 :(得分:1)

  

所以我的问题是,有可能实现可序列化到Pojo类吗?

是的。只需将implements Serializable添加到您的POJO类中,您的班级将为serializable。因此,如果您需要在活动之间传递对象,则必须使您的类和子类可序列化。

public class ModelClass implements Serializable {}
  

如果我要实现Serializable或Parcelable,是否有冲突?

不,完全没有冲突,但是在使用一个或另一个接口时应注意一些差异。因此,我建议您查看以下帖子:ParcelableSerializable