带有不可变项的Gson的两种实现之间的区别

时间:2019-01-17 18:01:13

标签: java json gson immutables-library

我发现有两种方法可以对不可变对象进行Gson映射:

说,您拥有以下不可变类:

@Value.Immutable
public interface ABC {

    String def();

    String ghi();

}

2种方式:

  1. 放入
  

@ Gson.TypeAdapters

在ABC接口定义之上的

。然后在使用Gson对象的地方,可以按以下方式使用它:

private static final Gson GSON = new GsonBuilder()
            .registerTypeAdapterFactory(new ABC()).create();

并使用此Gson对象进行映射。

  1. 放入
  

@ Gson.TypeAdapters和@JsonAdapter(ABC.class)

在ABC接口定义之上的

。然后在使用Gson对象的地方,可以按以下方式使用它:

  

私有静态最终Gson GSON = new Gson();

有人可以告诉您首选哪种方式吗?两者都符合我将json转换为对象,反之亦然的目的。我想知道哪种是首选做法,为什么?

0 个答案:

没有答案