我使用默认的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就可以了.
这三种方法之间的区别在于它们输出到的数据格式.不同的格式各有优缺点,但它们都能完成工作.