Разница между двумя реализациями Gson с неизменяемыми - PullRequest
0 голосов
/ 17 января 2019

Я обнаружил, что есть 2 способа сделать Gson Mapping для объектов Immutables:

Скажем, у вас есть следующий неизменный класс:

@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 в объект и наоборот. Я хотел знать, какая из них является предпочтительной практикой и почему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...