【问题标题】:Creating a Firebase POJO class implementing Serializable/Parcelable创建一个实现 Serializable/Parcelable 的 Firebase POJO 类
【发布时间】:2018-09-03 10:59:24
【问题描述】:

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

【问题讨论】:

    标签: java android firebase pojo


    【解决方案1】:

    只要你的 POJO 的每个成员也实现了 Serializable,你应该没问题。

    只有当你的 POJO 有一个子成员是另一个 POJO 并且 POJO 没有实现 Serializable 时才会有冲突。

    String、int、enums 等成员默认情况下是可序列化的,所以你应该只关心没有实现可序列化的非平凡属性。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

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

        public class ModelClass implements Serializable {}
        

        如果我要实现 Serializable 或 Parcelable 会不会有冲突?

        不,根本不会有冲突,但在使用一个或另一个界面时会有一些差异,您应该注意这一点。因此,我建议您查看以下帖子:Parcelable vs Serializable

        【讨论】:

        • 一切都好吗,我可以帮助您了解其他信息吗?
        猜你喜欢
        • 2018-01-04
        • 1970-01-01
        • 2021-09-23
        • 2011-05-28
        • 1970-01-01
        • 1970-01-01
        • 2012-03-08
        • 1970-01-01
        • 2015-08-29
        相关资源
        最近更新 更多