我需要在使用GSON(序列化/反序列化库)的同时为模型类实现Serializable

我使用默认的HttpUrlConnection类进行api调用,并使用GSON将Java对象转换为json请求并将json响应转换为等效的Java对象.我创建了各种模型(pojo类)以将请求/响应转换为模型对象.因为GSON是序列化/反序列化库,对所有这些模型实现序列化是否理想?

public class Contact implements Serializable {
    private String name;
    private String email;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}

我从所有模型中删除了可序列化的工具,一切似乎都正常了,但是我很困惑是否正确?

最佳答案
取决于您要对它们执行什么操作,但是最有可能不需要.可序列化是在Java中对数据进行序列化的一种方法,类似于默认的Java方法. JSON序列化是另一个. Parcelable是Android专用的三分之一.唯一需要使用Serializable的是,是否要将其传递给采用Serializable作为参数的API.如果您不需要这样做,那么使用GSON进行序列化而不执行Serializable就可以了.

这三种方法之间的区别在于它们输出到的数据格式.不同的格式各有优缺点,但它们都能完成工作.

转载注明原文:我需要在使用GSON(序列化/反序列化库)的同时为模型类实现Serializable - 代码日志