Является ли передача TypeReference <T>вручную хорошей практикой при использовании обобщений в Java - PullRequest
1 голос
/ 12 октября 2019

У меня есть метод, который использует следующие шаблоны:

  public <T> ReturnThis<T> doSomething(Request req) {
        .
        .
     T result = ObjectMapperFactory.getMapper().readValue(req, new TypeReference<T>() {});
        .
        .
     return ReturnThis<T>;
  }

Я понимаю, что существуют @JsonSubTypes, которые можно использовать, чтобы явно сообщить Джексону о типе. Но это не мой случай использования здесь.

В качестве альтернативы, это также может быть сделано

 public <T> ReturnThis<T> doSomething(Request req, TypeReference<T> type) {
       .
       .
    T result = ObjectMapperFactory.getMapper().readValue(req, type);
       .
       .
    return ReturnThis<T>;
 }

Является ли нижеследующий вариант более предпочтительным или более безопасным?

...