我发现有两种方法可以对不可变对象进行Gson映射:
说,您拥有以下不可变类:
@Value.Immutable
public interface ABC {
String def();
String ghi();
}
2种方式:
在ABC接口定义之上的@ Gson.TypeAdapters
。然后在使用Gson对象的地方,可以按以下方式使用它:
private static final Gson GSON = new GsonBuilder() .registerTypeAdapterFactory(new ABC()).create();
并使用此Gson对象进行映射。
在ABC接口定义之上的@ Gson.TypeAdapters和@JsonAdapter(ABC.class)
。然后在使用Gson对象的地方,可以按以下方式使用它:
私有静态最终Gson GSON = new Gson();
有人可以告诉您首选哪种方式吗?两者都符合我将json转换为对象,反之亦然的目的。我想知道哪种是首选做法,为什么?